#!/bin/sh -e # Daily backup script. Perform once per day with a cron like: # 55 18 * * * /Users/marc/bin/bk >/tmp/bk.out 2>&1 error() { echo "$@" >&2; return 1; } dest="${BK:-/Volumes/sandisk4}/backup/$(hostname -s)" day="$(date +%A)" test -d "$dest" || error "$dest not available" # Clear previous week incremental backup mkdir "$HOME/emptydir" rsync --delete -a "$HOME/emptydir/" "$dest/$day/" rmdir "$HOME/emptydir" # Now backup rsync --delete --delete-excluded --exclude-from="$HOME/.bkignore" \ --backup --backup-dir="${dest#*:}/$(date +%A)" -av "$HOME" "$dest/current"