Exemplos de Uso
$
set -euo pipefail
$
SOURCE="/home"
BACKUP_ROOT="/backup"
EMAIL="admin@empresa.com"
RETENCAO_DIAS=30
LOG="/var/log/backup.log"
$
log() { echo "[$(date +"%Y-%m-%d %H:%M:%S")] $*" | tee -a "$LOG"; }
$
DEST="$BACKUP_ROOT/$(date +%Y%m%d_%H%M%S)"
LATEST="$BACKUP_ROOT/latest"
$
log "Iniciando backup: $DEST"
mkdir -p "$DEST"
$
if [ -d "$LATEST" ]; then
rsync -avz --delete --link-dest="$LATEST" "$SOURCE/" "$DEST/" >> "$LOG" 2>&1
else
rsync -avz "$SOURCE/" "$DEST/" >> "$LOG" 2>&1
fi
$
rm -f "$LATEST" && ln -s "$DEST" "$LATEST"
$
find "$BACKUP_ROOT" -maxdepth 1 -mindepth 1 -type d -mtime +$RETENCAO_DIAS -exec rm -rf {} +
$
log "Backup concluído: $(du -sh $DEST | cut -f1)"