summaryrefslogtreecommitdiff
path: root/bin/bk
blob: e313962a4d984af219c5e7f2a002df002930a42a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/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"