Ga naar hoofdinhoud

Dedicated Server: Linux-servers backuppen met Rsync

De ideale producten voor deze handleiding

Begin meteen — bestel het passende product en volg deze handleiding stap voor stap.

Introductie

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 worden alleen de gewijzigde bestanden gesynchroniseerd.

Zo wordt er dus een incrementele backup gemaakt.

Stap 1

Rsync installeer je met het volgende 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 van data wordt gecomprimeerd

De map is nu succesvol gesynchroniseerd.

Als je nu een bestand uit de Client map verwijdert, blijft die nog wel in de Backup map staan.
Maar omdat de bestanden altijd 1:1 synchroon moeten zijn, kun je het rsync-commando makkelijk aanpassen zodat ook bestanden die niet meer in Client staan, uit Backup worden 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 van 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 (bijvoorbeeld met 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 wordt er een backup gemaakt.