Backup con rsync e crontab
Data: 9 Agosto 2005Autore: Maurizio Pelizzone
Inizio con il riportare la definizione di Rsync scritta su Appunti di informatica libera.
Rsync è un sistema di copia tra elaboratori (o anche all’interno del file system dello stesso sistema locale), in grado di individuare e trasferire il minimo indispensabile di dati, allo scopo di allineare la destinazione con l’origine. L’uso di questo programma è molto semplice ed è simile a quello di rcp (Remote shell copy) o anche di scp (Secure shell copy). L’aggiornamento dei dati, in funzione delle opzioni utilizzate, può basarsi sul confronto delle date di modifica, delle dimensioni dei file e anche sul calcolo di un codice di controllo (checksum). In linea di principio, a meno di utilizzare opzioni che specificano qualcosa di diverso, non conta il fatto che i dati siano più recenti o meno, basta che questi siano diversi per ottenerne il trasferimento.
Alla luce di quanto scritto personalmente lo trovo un buon sistema per effettuare dei backup dove non ci sono problemi di spazio ( in quanto la copia viene fatta 1 a 1 con l’originale )
Supponendo di voler effettuare il backup della directory /home su /backup_giornaliero possiamo semplicemente scrivere :
rsync -a -v --delete /home /backup_giornaliero
questo il significato dei parametri …
- -a duplica anche le sottodirectoy in modo ricordsivo
- -v ci da il dettaglio dello svolgimento della copia
- –delete cancella i file sotto /backup_giornaliero che non esistono in /home
Ma come possiamo automatizzare questo comando ? Io ho usato cron. ( per una guida in italiano vi suggerisco questo link )
Ho editando il file /etc/crontab e aggiunto questa riga:
0 0 23 * * * root rsync -a -v --delete /home /backup_giornaliero
In questo modo ogni giorno alla 23.00 viene fatto partire rsync
Dato che sono paranoico e che un backup non mi basta , una volta alla settimana ed una volta al mese preferisco farne un altro.
0 23 * * * root rsync -a -v --delete /home /backupgiornaliero
0 2 * * 0 root rsync -a -v –delete /home /backupsettimanale
0 5 1 * * root rsync -a -v –delete /home /backup_mensile
In questo modo tutte le sere faccio il backup su /backupgiornaliero Ogni domenica alla 2 del mattino lo faccio su /backupsettimanale Ed il giorno 1 di ogni mese alla 5 del mattino viene fatto su /backup_mensile
Ricordiamoci di creare le directory !!!
Mi rimane ancora una domanda … come faccio a sapere se il backup è stato eseguito ?
Mi faccio mandare una mail !!!
0 23 * * * root rsync -a -v --delete /home /backupgiornaliero | mail tuamail@dominio.it -s “Log Backup”
0 2 * * 0 root rsync -a -v –delete /home /backupsettimanale | mail tuamail@dominio.it -s “Log Backup”
0 5 1 * * root rsync -a -v –delete /home /backup_mensile | mail tuamail@dominio.it -s “Log Backup”
In questo modo grazie all’opzione -s ed all’utilizzo della pipe ci inviamo l’output di rsync nella nostra casella di posta.
Questo articolo è stato pubblicato il 9 Agosto 2005 alle 11:23 am ed è stato letto 26243 volte
Archiviato sotto bho ?, linux, tips.
Se questo post ti è piaciuto puoi iscriverti al mio
Feed Rss
e ricevere direttamente gli aggiornamenti di questo blog sul tuo FeedReader oppure puoi decidere
di offrirmi un caffè.
Se ti va puoi lasciare un commento e leggere quelli degli altri,
ma se preferisci puoi passare direttamente al
post precedente o a quello successivo.
Forse collegati ..
- mysql backup via mail
Dopo la disavventura di qualche giorno fa ho migliorato un po' le mie procedure di backup relative ai database mysql, - Cobian Backup
Come potete intuire dal nome Cobian Backup è un software nato per fare Backup. Il motivo per il quale - Mi hanno craccato le stastistiche del blog
Questa notte qualche "simpatico personaggio ( :evil: )", ha deciso che doveva farmi vedere quanto fosse bravo a fare l' - Qual' è la dimensione di queste sottodirectory ?
Nei giorni passati ho avuto la necessità di sapere in modo ricorsivo la dimensione di una directory a delle sue - Php-Stats 0.1.9.1b
A fine marzo è stato rilasciato un importante aggiornamento con la correzione di alcuni bug abbastanza "rilevanti". L'aggiornamento è altamente consigliato. Dopo






















20 Febbraio 2007
Semplice e preciso. Ottimo articolo, complimenti.
8 Aprile 2008
Hai aggiunto uno zero di troppo all’inizio di tutte le linee in crontab. I comandi corretti sono del tipo:
0 23 * * * root rsync -a -v –delete /home /backup_giornaliero
I campi in crontab sono solo 5 (vedi http://it.wikipedia.org/wiki/Crontab)
8 Aprile 2008
@marco,
grazie!!!
non mi ero mai accorto del refuso…
11 Aprile 2008
che programma hai installato per poter fare in modo che il comando mail funzioni? php, postfix? grazie, ottima guida!
11 Aprile 2008
http://packages.debian.org/stable/mail/mailx
per installarlo sotto debian… apt-get install mailx
;)
11 Aprile 2008
si sono sotto ubuntu (server 7.10) ma bisogna configurarlo in qualche maniera (cioè di fatto creare un server mail) o funziona già da solo(vedo che usa postfix)?
11 Aprile 2008
penso che un server smtp sia già installato di default.
il modo più veloce per saperlo è provare…
echo “prova” | mail tuamail@dominio.ext -s “prova invio”
se dovesse dare un qualche tipo di errore allora possiamo valutare se procedere con l’installazione di un MTA come postfix
apt-get install postfix
per riconfigurarlo: dpkg-reconfigure postfix
11 Aprile 2008
ho risolto:
1) apt-get install postfix
2) dpkg-reconfigure postfix
3) apt-get install mailx
e tutto funzia…
Grazie mille