diff --git a/unit-files/dump_all.service b/unit-files/dump_all.service
new file mode 100644
index 0000000000000000000000000000000000000000..85b4292be1d7462463cb0bebac9957214c9e961e
--- /dev/null
+++ b/unit-files/dump_all.service
@@ -0,0 +1,4 @@
+[Service]
+Type=oneshot
+Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
+ExecStart=/opt/bin/dump_all.sh 
diff --git a/unit-files/dump_all.timer b/unit-files/dump_all.timer
new file mode 100644
index 0000000000000000000000000000000000000000..bd569103598d0a3ddb93850a1dda24667ed79f44
--- /dev/null
+++ b/unit-files/dump_all.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=Run dump all dayly
+
+[Timer]
+OnCalendar=*-*-* 00:15:30
+
+[Install]
+WantedBy=timers.target
diff --git a/utils/dump_all.sh b/utils/dump_all.sh
new file mode 100644
index 0000000000000000000000000000000000000000..2d9bb2197c45ef31b82f79d8eb78dc4feb032976
--- /dev/null
+++ b/utils/dump_all.sh
@@ -0,0 +1,19 @@
+#!/bin/bash -eux
+
+export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
+
+echo BEGIN > /tmp/dump-logs
+date > /tmp/dump-logs
+
+for domain in `ls /data/domains`; do
+  echo $domain >> /tmp/dump-logs
+  cd /data/domains/${domain}/
+  if [[ -f ./scripts/pre-backup ]]; then
+    cat ./scripts/pre-backup >> /tmp/dump-logs
+    ./scripts/pre-backup >> /tmp/dump-logs
+  fi
+done
+
+date > /tmp/dump
+echo END >> /tmp/dump-logs
+date >> /tmp/dump-logs