summaryrefslogtreecommitdiff
path: root/rsync_tmbackup.sh
diff options
context:
space:
mode:
authorRobert Bruce Park <r@robru.ca>2013-11-15 10:35:04 -0800
committerRobert Bruce Park <r@robru.ca>2013-11-15 10:35:04 -0800
commit9b9a564447cc6bf1aa99b65e57c3ecafefe9aca4 (patch)
tree497fa401c8311e1c8021ed28eb1f7ec8de879590 /rsync_tmbackup.sh
parentae7998025a80d1119361d5b0a948063856bc380d (diff)
More robust date handling.
Previously the date handling expiry logic had a bug where if you had backups that were a year apart to the day, it wouldn't notice the difference in year and only notice that the month was the same, and expire the older one (eg, if you had a backup on 2012-04-01 and another on 2013-04-01, it'd delete the one from 2012. This commit makes it compare the full date string instead of just the month, so that it more robustly keeps older backups.
Diffstat (limited to 'rsync_tmbackup.sh')
-rw-r--r--rsync_tmbackup.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/rsync_tmbackup.sh b/rsync_tmbackup.sh
index 1bad059..10ec4f7 100644
--- a/rsync_tmbackup.sh
+++ b/rsync_tmbackup.sh
@@ -190,11 +190,11 @@ while [ "1" ]; do
elif [ $stamp -ge $KEEP_DAILIES_DATE ]; then
# Delete all but the most recent of each day.
- [ ${date:8:2} -eq ${prev:8:2} ] && fn_expire_backup "$fname"
+ [ "${date:0:10}" == "${prev:0:10}" ] && fn_expire_backup "$fname"
else
# Delete all but the most recent of each month.
- [ ${date:5:2} -eq ${prev:5:2} ] && fn_expire_backup "$fname"
+ [ "${date:0:7}" == "${prev:0:7}" ] && fn_expire_backup "$fname"
fi
prev=$date