HowTo Slackware

Backup su Slackware con rsync e cron

Script di backup semplice, schedulazione con cron, log e controlli di ripristino.

Un backup valido deve essere testato. Non limitarti a verificare che il file/directory esista.

1. Cosa fare backup

2. Struttura consigliata

/backup/
  current/
  logs/
  snapshots/   # opzionale
/usr/local/sbin/backup-rsync.sh

3. Script Bash base

#!/usr/bin/env bash
set -euo pipefail

DEST="/backup/current"
LOG="/backup/logs/backup-$(date +%F).log"
SRC=("/etc" "/var/www")
EXCLUDES=("/var/www/cache" "/var/www/tmp")

mkdir -p "$DEST" "$(dirname "$LOG")"

RSYNC_OPTS=(-aHAX --delete --numeric-ids)
for e in "${EXCLUDES[@]}"; do
  RSYNC_OPTS+=(--exclude "$e")
done

{
  echo "== Backup avvio $(date) =="
  for s in "${SRC[@]}"; do
    rsync "${RSYNC_OPTS[@]}" "$s" "$DEST/"
  done
  echo "== Backup fine $(date) =="
} | tee -a "$LOG"

Rendi eseguibile:

chmod +x /usr/local/sbin/backup-rsync.sh

4. Test manuale prima del cron

/usr/local/sbin/backup-rsync.sh
ls -lh /backup/logs
du -sh /backup/current

5. Pianificazione con cron (Slackware: rc.crond)

Assicurati che il servizio cron sia attivo:

chmod +x /etc/rc.d/rc.crond
/etc/rc.d/rc.crond start

Aggiungi il job (come root):

crontab -e

# Backup ogni notte alle 02:30
30 2 * * * /usr/local/sbin/backup-rsync.sh

6. Retention e rotazione (semplice)

Per non riempire il disco, elimina log vecchi e valuta snapshot separati.

find /backup/logs -type f -name 'backup-*.log' -mtime +30 -delete
Se vuoi versioning reale, usa snapshot con hardlink (cp -al) o filesystem con snapshot nativi (es. btrfs/zfs se presenti nel tuo setup).

7. Test restore (fondamentale)

mkdir -p /tmp/restore-test
rsync -a /backup/current/etc/ /tmp/restore-test/etc/
ls -l /tmp/restore-test/etc | head

Per dati critici, prova un ripristino su macchina di test.

8. Best practice

Checklist rapida

[ ] Script rsync creato e testato
[ ] rc.crond abilitato e avviato
[ ] Cron job configurato
[ ] Exclude definiti
[ ] Log e retention configurati
[ ] Test restore eseguito

Torna alla sezione HowTo Linux