summaryrefslogtreecommitdiff
path: root/bin/backup-clean
diff options
context:
space:
mode:
Diffstat (limited to 'bin/backup-clean')
-rwxr-xr-xbin/backup-clean11
1 files changed, 8 insertions, 3 deletions
diff --git a/bin/backup-clean b/bin/backup-clean
index 1c752d9..34e6d97 100755
--- a/bin/backup-clean
+++ b/bin/backup-clean
@@ -33,7 +33,7 @@ host=${BACKUP%:*} dir=${BACKUP#*:}
ls='ls -r' rm="xargs -r $optv $optn rm -rf"
[ "$host" = "$dir" ] || ls="ssh $host $ls" rm="ssh $host $rm"
-[ "$optv" ] && echo "# Cleaning backups on $BACKUP"
+echo "# Cleaning backups on $BACKUP"
$ls "$dir" |
awk -v now=$(date +%Y-%m-%d) -v dir="$dir" '
@@ -48,11 +48,16 @@ BEGIN {
db = substr($0, 9, 2) # Day backup
$0 = dir "/" $0
- if (yb != yn) {
+ dy = yn - yb
+ dm = dy * 12 + mn - mb
+ # if (yb != yn) {
+ if (dm > 12) {
if (yb in yearly) print; else yearly[yb] = 1
next
}
- if (mb != mn) {
+ # if (mb != mn) {
+ dd = dm * 30 + dn - db
+ if (dd > 30) {
if (mb in monthly) print; else monthly[mb] = 1
next
}