Come automatizzare i backup su Linux con uno script
Con uno script rsync programmato da cron, senza bisogno di software aggiuntivo.
Uno script semplice con rsync programmato da cron
copre la maggior parte delle esigenze domestiche, senza bisogno di
software aggiuntivo.
Lo script
#!/bin/bash
DATA=$(date +%Y-%m-%d)
rsync -av --delete /home/tuo_utente/Documenti/ /media/disco_esterno/backup-documenti/
echo "Backup completato: $DATA" >> /home/tuo_utente/backup.log
Salvalo come backup.sh, dagli i permessi di
esecuzione:
chmod +x backup.sh
--delete elimina nella destinazione i file che non
esistono più nell'origine, mantenendo una copia speculare esatta.
Toglilo se preferisci che la destinazione accumuli soltanto, senza
cancellare mai nulla.
Programmarlo con cron
crontab -e
Aggiungi questa riga per eseguirlo ogni giorno alle 2 di notte:
0 2 * * * /percorso/completo/backup.sh
Consiglio: prova lo script manualmente prima
(./backup.sh) di programmarlo — conferma che funzioni
come ti aspetti prima di lasciarlo eseguire da solo senza
supervisione.
Domande frequenti
Cosa fa esattamente rsync che non fa una copia normale?
Copia solo ciò che è cambiato dall'ultima volta, invece di copiare tutto di nuovo — molto più veloce in backup ripetuti di grandi quantità di file.
È sicuro usare --delete nello script?
Mantiene una copia speculare esatta dell'origine, ma significa che se cancelli qualcosa per errore nell'origine, viene cancellato anche nella destinazione alla successiva esecuzione. Toglilo se preferisci che la destinazione accumuli soltanto senza cancellare mai.