#/bin/sh # Daily script. Run tarsnap backup # periodic(8) doesn't work for me on a MacBook, so poll [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 pgrep -fq daily.sh && { echo "Already running"; exit 1; } set -u export LANG=C last=0 log=daily.log pid=daily.pid strategy=./strategy.sh t24h=$((24 * 60 * 60)) t5m=$((5 * 60)) [ -f $strategy ] || { echo "$strategy not found"; exit 1; } echo $$ > $pid while true; do if [ $((`date +%s` - last)) -ge $t24h ]; then caffeinate $strategy > $log 2>&1 last="`date +%Y%m%d`060000" # today @ 06:00 last=`date -j -f '%Y%m%d%H%M%S' '+%s' $last` # in seconds fi sleep $t5m done