#!/bin/sh -e BACKUP_SERVER="${BACKUP_SERVER-dd-backups@backup.digitaldemocratic.net}" BORG_PASSCOMMAND="${BORG_PASSCOMMAND-cat $HOME/.borg-passphrase}" wait_backup(){ if ! [ -f /home/$1/backup_date ] then exit fi current_date="$(date +"%Y-%m-%d")" while ! [ "$current_date" = "$(cut -b1-10 /home/$1/backup_date)" ] do sleep 60 if [ "$current_date" != "$(date +"%Y-%m-%d")" ] then echo "No backup for $1 at $current_date" >&2 exit 1 fi done export BORG_PASSCOMMAND borg create ssh://$BACKUP_SERVER/~/$1.borg::$(cat /home/$1/backup_date) /home/$1 borg prune -d7 -w4 -m12 -y5 ssh://$BACKUP_SERVER/~/$1.borg } for item in $(ls /home) do wait_backup $item & done