From: Sugar Labs BOFH Date: Thu, 2 Feb 2017 03:10:01 +0000 (-0500) Subject: Fix monthly backups not being rotated. X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=5c8fab3cdc29ab5b0991579efc8dc516ff73e526;p=wizbackup.git Fix monthly backups not being rotated. Two distinct bugs in bash variable manipulation: - "$DATE-monthly" should have been "${DATE}-monthly" - "date +%d" outputs "01" and not "1". Yes, my bash-fu is weak. --- diff --git a/wizbackup b/wizbackup index b0a74a3..fffd3b9 100755 --- a/wizbackup +++ b/wizbackup @@ -38,7 +38,7 @@ SRC=$1; shift # Destination directory (will be created if it doesn't exist) DEST=$1; shift -CONF_FILE="/etc/wizbackup/wizbackup.conf" +CONFIG_FILE="/etc/wizbackup/wizbackup.conf" # NOTE: --timeout needs to be large enough: if a large dir tree don't change a lot of time can pass without I/O # NOTE: --inplace will clobber linked files in older snapshots. DON'T USE IT! @@ -51,16 +51,16 @@ MONTHS=3 MIN_FREE_GB=10 RESULT=500 -DATE=$(date +"%Y%m%d") -if [ $(date +"%d") = 1 ]; then - DATE="$DATE-monthly" -elif [ $(date +"%w") = 0 ]; then - DATE="$DATE-weekly" +DATE="$(date +"%Y%m%d")" +if [ $(date +"%d") -eq 1 ]; then + DATE="${DATE}-monthly" +elif [ $(date +"%w") -eq 0 ]; then + DATE="${DATE}-weekly" fi DEST="`echo $DEST | sed -e 's/\/$//'`" -if [ -f "$CONF_FILE" ]; then - source /etc/wizbackup/wizbackup.conf +if [ -f "$CONFIG_FILE" ]; then + source "$CONFIG_FILE" fi # Use "backup" ssh key with ssh protocol, or password file for rsync protocol