#!/bin/bash
# Retention dump automysqlbackup (eseguito da POSTBACKUP in /etc/default/automysqlbackup).
# Default: daily 14g, weekly 60g, monthly 365g.

set -euo pipefail

BACKUPDIR="${BACKUPDIR:-/var/backups/mysql}"
KEEP_DAILY="${KEEP_DAILY:-14}"
KEEP_WEEKLY="${KEEP_WEEKLY:-60}"
KEEP_MONTHLY="${KEEP_MONTHLY:-365}"

[[ -d "$BACKUPDIR" ]] || exit 0

prune() {
	local subdir="$1" days="$2"
	local path="${BACKUPDIR}/${subdir}"
	[[ -d "$path" ]] || return 0
	find "$path" -type f \( -name '*.sql.gz' -o -name '*.sql' -o -name '*.gz' \) -mtime "+${days}" -delete 2>/dev/null || true
	find "$path" -type d -empty -delete 2>/dev/null || true
}

prune daily "$KEEP_DAILY"
prune weekly "$KEEP_WEEKLY"
prune monthly "$KEEP_MONTHLY"

# Log orfani nella root del backup dir
find "$BACKUPDIR" -maxdepth 1 -type f -mtime "+${KEEP_DAILY}" -delete 2>/dev/null || true
