--- /dev/null
+#!/bin/bash
+
+for script in /backup/scripts/*; do
+ if ! grep -q '^function run_backup' "$script"; then
+ continue
+ fi
+ if [ ! -x "$script" ]; then
+ echo "Skipping $script because it is not executable"
+ continue
+ fi
+ output="$("$script" 2>&1)"
+ if [ "$?" -ne 0 ]; then
+ echo "Failed to run: $script"
+ echo "$output"
+ fi
+done
+
--- /dev/null
+#! bash
+
+set -e
+ionice -c 3 -p $$
+renice -n 19 -p $$ > /dev/null
+
+script="$(basename "${BASH_SOURCE[1]}" .sh)"
+
+(
+if ! flock -n -x 200; then
+ echo "Failed to get a lock!"
+ exit 1
+fi
+
+run_backup
+
+) 200>"/run/lock/backup-${script}"
+
--- /dev/null
+SHELL=/bin/bash
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+MAILTO=root
+
+# m h dom mon dow user command
+ 0 2 * * * root /backup/scripts/backup-all
--- /dev/null
+#!/bin/bash
+
+function run_backup {
+ rdiff-backup \
+ --preserve-numerical-ids \
+ --exclude-sockets \
+ --exclude '/home/*/tmp' \
+ --include '/home' \
+ --exclude '/var/cache' \
+ --exclude '/var/log' \
+ --exclude '/var/tmp' \
+ --exclude '/tmp' \
+ --include '/var' \
+ --exclude-other-filesystems \
+ my-host.example.com::/ /backup/my-host
+
+ rdiff-backup -v1 --force --remove-older-than 365D /backup/my-host
+}
+
+. /backup/scripts/common
+
--- /dev/null
+#!/bin/bash
+
+function run_backup {
+ rsync -a --numeric-ids --delete my-host.example.com:/backup/my-host/ /backup/my-host/
+}
+
+. /backup/scripts/common
+