diff --git a/backup-tar/backup.sh b/backup-tar/backup.sh index c36972d73219accb15f6e280f4612b0eb99c78fa..c6ed2e1853b39331ddc6af2959ca63a0cd332f03 100755 --- a/backup-tar/backup.sh +++ b/backup-tar/backup.sh @@ -34,21 +34,21 @@ get_snars() { find $1/ -type f -name '*.snar' -printf '%f\n' | sort; } get_type() { mkdir -p "$1" - if ! ls $1/*.snar >&/dev/null; then - echo full - else - LAST_FULL=$(date --date=$(get_snars $1 | grep full | tail -n1 | sed 's/[.].*$//') +%s) - LAST_BIG=$(date --date=$(get_snars $1 | grep '\(full\|weekly\)' | tail -n1 | sed 's/[.].*$//') +%s) - NOW=$(date +%s) - # do a full backup every 8 weeks - if [[ $(($NOW - $LAST_FULL)) -ge $((3600 * 24 * 7 * 8)) ]]; then - echo full - elif [[ $(($NOW - $LAST_BIG)) -ge $((3600 * 24 * 7)) ]]; then - echo weekly - else - echo daily - fi - fi + if ! ls $1/*.snar >&/dev/null; then + echo full + else + LAST_FULL=$(date --date=$(get_snars $1 | grep full | tail -n1 | sed 's/[.].*$//') +%s) + LAST_BIG=$(date --date=$(get_snars $1 | grep '\(full\|weekly\)' | tail -n1 | sed 's/[.].*$//') +%s) + NOW=$(date +%s) + # do a full backup every 8 weeks + if [[ $(($NOW - $LAST_FULL)) -ge $((3600 * 24 * 7 * 8)) ]]; then + echo full + elif [[ $(($NOW - $LAST_BIG)) -ge $((3600 * 24 * 7)) ]]; then + echo weekly + else + echo daily + fi + fi } for SRC in $SOURCES; do