Utilizzare rsync all'interno di un cronjob per eseguire backup o sincronizzazioni automatiche è una pratica comune. Tuttavia, per verificare quali file vengono effettivamente modificati durante l'esecuzione del comando, è necessario un metodo per registrare e monitorare i cambiamenti. Questo articolo illustra come ottenere un report dettagliato delle modifiche rilevate da rsync e come configurare un cronjob per automatizzare il processo.
Utilizzare Rsync con Log dei Cambiamenti
Il comando rsync
offre l'opzione --itemize-changes
, che consente di ottenere un output dettagliato su quali file sono stati aggiunti, modificati o eliminati.
rsync -az --itemize-changes /source/dir/ /destination/dir/ | tee /var/log/rsync_changes.log
In questo modo, il log /var/log/rsync_changes.log
conterrà l'elenco delle modifiche effettuate.
Automatizzare Rsync con un Cronjob
Per eseguire automaticamente rsync
a intervalli regolari e registrare i cambiamenti, è possibile configurare un cronjob. Ad esempio, per eseguire il backup ogni giorno alle 2:00 AM:
0 2 * * * rsync -az --itemize-changes /source/dir/ /destination/dir/ | tee -a /var/log/rsync_changes.log
Il flag -a
in tee
assicura che il log venga aggiornato senza sovrascrivere i dati precedenti.
Inviare Notifiche via Email
Se si desidera ricevere un report via email ogni volta che il cronjob viene eseguito, è possibile modificare il cronjob in questo modo:
0 2 * * * rsync -az --itemize-changes /source/dir/ /destination/dir/ | tee -a /var/log/rsync_changes.log | mail -s "Rsync Report" user@example.com
Assicurarsi che il server sia configurato correttamente per l'invio di email con mail
.
Analizzare i Cambiamenti nei Log
Per visualizzare rapidamente i file modificati negli ultimi giorni, è possibile usare:
grep "^>f" /var/log/rsync_changes.log | tail -n 20
Il prefisso >f
indica che il file è stato aggiornato.
Conclusione
Monitorare le modifiche nei file sincronizzati con rsync
in un cronjob è essenziale per tenere traccia delle variazioni e rispondere prontamente a eventuali problemi. L'uso di --itemize-changes
, la registrazione nei log e l'invio di notifiche via email garantiscono una gestione efficace e trasparente dei backup automatici.