Vai al contenuto principale

VPS: Backup dei server Linux con Rsync

Questa guida è stata creata con i seguenti prodotti:

(I dettagli possono variare con prodotti di fornitori diversi ma i concetti principali rimangono gli stessi)

Rsync:

I backup possono essere fatti con lo strumento Rsync.
Possono essere copiati sullo stesso sistema locale in un’altra cartella/drive oppure su un sistema remoto.

Copiare i dati in un’altra cartella o drive locale:

informazioni

Attenzione: La prima esecuzione può richiedere molto più tempo rispetto alle successive, a seconda della quantità di dati. Questo perché la prima volta Rsync sincronizza tutti i dati, dalla seconda volta in poi verranno sincronizzati solo i dati modificati.

Così si crea un backup incrementale.

Passo 1

Rsync può essere installato con il seguente comando:

apt install rsync

Dopo l’installazione può essere usato subito.

Passo 2

In questo esempio, la cartella Client sotto /home deve essere sincronizzata con la cartella Backup sotto /home.

Questo si fa con il comando:

rsync -arz /home/Client /home/Backup

-a=Archiviazione, vengono copiati gli attributi


-r=Ricorsivo, vengono sincronizzate anche le sottocartelle


-z=Compressione, i dati vengono compressi in base alla quantità/dimensione

La cartella è stata sincronizzata con successo.

Se ora un file nella cartella client viene cancellato, rimarrà nella cartella di backup.
Ma siccome i file devono essere sempre sincronizzati 1:1, il comando rsync può essere modificato facilmente per rimuovere anche i dati che non sono più presenti nella cartella client dalla cartella di backup.

Il comando modificato è:

rsync -arz --delete /home/Client /home/Backup

-a=Archiviazione, vengono copiati gli attributi


-r=Ricorsivo, vengono sincronizzate anche le sottocartelle


-z=Compressione, i dati vengono compressi in base alla quantità/dimensione


--delete= Elimina i dati che non esistono più nella sorgente ma sono ancora presenti nella destinazione

Passo 3

Per non dover eseguire sempre manualmente il comando, può essere inserito in un cronjob.
Ad esempio, un backup giornaliero alle 3 di notte:

Apri crontab -e:

Con il numero 1 si può usare "nano" come editor.
Con il numero 2 si può usare "vim" come editor.

Dopo aver aperto il file con ad esempio Nano, si può creare e inserire un crontab.
Un crontab può essere creato con questo Generator.

Il crontab inserito sarà così:

0 3 * * * rsync --progress -arz --delete -e  "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1

Ogni giorno alle 3 di notte il comando viene eseguito e viene creato il backup.