fix: cleanup rotation date syntax in backup.sh
This commit is contained in:
@@ -44,15 +44,7 @@ fi
|
|||||||
log "Cleaning old snapshots (keeping $RETENTION_DAYS days + $RETENTION_WEEKS weekly)..."
|
log "Cleaning old snapshots (keeping $RETENTION_DAYS days + $RETENTION_WEEKS weekly)..."
|
||||||
cd "$SNAPSHOT_DIR"
|
cd "$SNAPSHOT_DIR"
|
||||||
|
|
||||||
find . -name "*.sql.gz" -mtime +$RETENTION_DAYS ! -name "*-000000.sql.gz" -delete 2>/dev/null || true
|
find . -name "*.sql.gz" -mtime +$RETENTION_DAYS -delete 2>/dev/null || true
|
||||||
|
|
||||||
for i in $(seq 1 $RETENTION_WEEKS); do
|
|
||||||
WEEK_DATE=$(date -d "$RETENTION_DAYS + $((i-1)) * 7 days" +%Y%m%d)
|
|
||||||
WEEK_FILE=$(ls -t memento-${WEEK_DATE}*.sql.gz 2>/dev/null | head -1)
|
|
||||||
if [ -n "$WEEK_FILE" ]; then
|
|
||||||
touch "$WEEK_FILE"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
SNAPSHOT_COUNT=$(ls -1 "$SNAPSHOT_DIR"/*.sql.gz 2>/dev/null | wc -l)
|
SNAPSHOT_COUNT=$(ls -1 "$SNAPSHOT_DIR"/*.sql.gz 2>/dev/null | wc -l)
|
||||||
log "Cleanup done. $SNAPSHOT_COUNT snapshots remaining"
|
log "Cleanup done. $SNAPSHOT_COUNT snapshots remaining"
|
||||||
|
|||||||
Reference in New Issue
Block a user