Ga naar hoofdinhoud

VPS: Linux-servers backuppen met Rsync

Deze handleiding is gemaakt met de volgende producten:

(Details kunnen verschillen bij producten van verschillende aanbieders, maar de hoofdconcepten blijven hetzelfde)

Rsync:

Backups maak je met het tooltje Rsync.
Je kunt data lokaal kopiëren naar een andere map/schijf of naar een remote systeem.

Data kopiëren naar een andere lokale map of schijf:

info

Let op: De eerste keer kan het veel langer duren dan de volgende keren, afhankelijk van de hoeveelheid data. Dit komt omdat Rsync de eerste keer alle data synchroniseert, vanaf de tweede keer alleen de gewijzigde data.

Zo maak je dus een incrementele backup.

Stap 1

Rsync installeer je met dit commando:

apt install rsync

Na installatie kun je het direct gebruiken.

Stap 2

In dit voorbeeld synchroniseren we de map Client onder /home naar de map Backup onder /home.

Dat doe je met dit commando:

rsync -arz /home/Client /home/Backup

-a=Archiveren, attributen worden gekopieerd
-r=Recursief, submappen worden ook gesynchroniseerd
-z=Compressie, afhankelijk van hoeveelheid/grootte data wordt gecomprimeerd

De map is succesvol gesynchroniseerd.

Als je nu een bestand uit de client map verwijdert, blijft die nog wel in de backup map staan.
Maar omdat je altijd een 1:1 synchronisatie wilt, kun je het rsync-commando makkelijk aanpassen zodat ook data die niet meer in de client map staat, uit de backup map wordt verwijderd.

Het aangepaste commando is:

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

-a=Archiveren, attributen worden gekopieerd
-r=Recursief, submappen worden ook gesynchroniseerd
-z=Compressie, afhankelijk van hoeveelheid/grootte data wordt gecomprimeerd
--delete= Verwijdert data die niet meer in de bron staat maar nog wel in de backup

Stap 3

Om het commando niet steeds handmatig te hoeven uitvoeren, kun je het in een cronjob zetten.
Bijvoorbeeld: elke dag om 3 uur 's nachts een backup maken:

Open crontab -e:

Met optie 1 gebruik je "nano" als editor.
Met optie 2 gebruik je "vim" als editor.

Als het bestand geopend is met bijvoorbeeld Nano, kun je een crontab aanmaken en invoeren.
Een crontab maak je makkelijk met deze Generator.

De ingevoerde crontab ziet er dan zo uit:

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

Elke dag om 3 uur 's nachts wordt het commando uitgevoerd en een backup gemaakt.