RSYNC è uno strumento potente e popolare utilizzato per eseguire il backup differenziale, una tecnica di backup che copia solo i dati che sono stati modificati o aggiunti dall’ultimo backup completo o differenziale. RSYNC utilizza un algoritmo avanzato per sincronizzare file e directory tra la sorgente e la destinazione, risparmiando tempo e larghezza di banda.
Per utilizzare RSYNC per eseguire un backup differenziale, è necessario avere RSYNC installato sia sulla macchina sorgente che sulla macchina di destinazione.
Ecco un esempio generale di come usarlo:
`rsync -avh —delete /sorgente /destinazione`
In questo comando:
- `-a` attiva la modalità archivio, che copia i file in modalità ricorsiva e mantiene le autorizzazioni dei file.
- `-v` aumenta la verbosità del comando.
- `-h` rende l’output più leggibile.
- `—delete` rimuove i file dalla destinazione che non esistono più nella sorgente.
- `/sorgente` è la directory da cui stai copiando i file.
- `/destinazione` è la directory in cui stai copiando i file.
Se si desidera eseguire il backup di un intero sistema, si potrebbe utilizzare un comando simile a questo:
`rsync -aAXv —exclude={“/dev/*”,”/proc/*”,”/sys/*”,”/tmp/*”,”/run/*”,”/mnt/*”,”/media/*”,”/lost+found”} / /destinazione`
In questo comando, `-aAX` preserva tutto, inclusi i file nascosti, le autorizzazioni, i timestamp, i link simbolici e le informazioni di proprietà e di gruppo. La serie di opzioni `—exclude` impedisce a RSYNC di copiare directory di sistema che non è necessario o che è sicuro copiare.
Per i backup differenziali, si può aggiungere l’opzione `—link-dest=DIR` al comando RSYNC. Questa opzione crea hard link ai file nel DIR specificato che non sono cambiati dalla sorgente. Ciò permette di risparmiare spazio poiché i dati non vengono duplicati.
Ad esempio:
`rsync -a —link-dest=../backup_precedente/ sorgente destinazione/backup_corrente/`
In questo esempio, i file in `sorgente` che non sono cambiati dal `backup_precedente` sono collegati a `backup_corrente` invece di essere copiati.
Infine, è Consigliato testare il comando con l’opzione `-n` o `—dry-run` per assicurarsi che funzioni come previsto.
Sorgenti utilizzate:
- Manuale di RSYNC: https://linux.die.net/man/1/rsync
- Guide pratiche di RSYNC: https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/ e https://www.howtogeek.com/135533/how-to-use-rsync-to-backup-your-data-on-linux/
- Articolo del blog di RSYNC: https://www.atlantic.net/hipaa-compliant-backup/how-to-sync-files-using-rsync-with-non-standard-ssh-port/