Back-ups met de 3-2-1-regel: rsync, restic en Syncthing
Je NAS beschermt je bestanden tegen een stukke schijf, maar niet tegen een verwijderd bestand, gijzelsoftware, inbraak of brand. Een back-up is een tweede kopie op een andere plek. Hier lees je hoe je dat goedkoop en betrouwbaar regelt.
De 3-2-1-regel
- 3 kopieën van wat belangrijk is (het origineel plus twee back-ups);
- op 2 verschillende soorten opslag (bijvoorbeeld de NAS en een externe schijf);
- waarvan 1 buiten je huis (bij een familielid, of in de cloud).
Synchroniseren is geen back-up
Programma’s als Syncthing houden mappen op meerdere apparaten gelijk. Handig, maar een bestand dat je op de ene plek verwijdert, verdwijnt ook op de andere. Gebruik synchronisatie om bij je bestanden te komen, en een echte back-up om ze terug te halen.
Optie 1: rsync, een eenvoudige kopie
Met rsync kopieer je een map naar een andere schijf of server en worden alleen veranderingen overgenomen:
rsync -avh --progress /srv/nas/ /mnt/backup/nas/
Met --delete verwijdert rsync ook bestanden die in de bron niet meer bestaan. Dat houdt de kopie gelijk, maar werkt ook je fouten door. Probeer eerst met --dry-run wat er zou gebeuren. Naar een andere server (met SSH) kan ook:
rsync -avh /srv/nas/ gebruiker@back-upserver:/opt/backup/nas/
Optie 2: restic, back-ups met geschiedenis
restic maakt versleutelde, gecomprimeerde back-ups en bewaart meerdere momentopnames, zodat je ook een oude versie van een bestand kunt terughalen. Het kan naar een schijf, een andere server en de cloud.
sudo apt install restic
restic init -r /mnt/backup/restic # eenmalig: maak de opslag aan
restic -r /mnt/backup/restic backup /srv/nas # een back-up maken
restic -r /mnt/backup/restic snapshots # bekijk de momentopnames
restic -r /mnt/backup/restic restore latest --target /tmp/herstel
Restic vraagt om een wachtwoord. Bewaar dat wachtwoord apart, op een veilige plek. Zonder het wachtwoord zijn je back-ups niet meer te openen. Maak er een met onze wachtwoordgenerator.
Oude momentopnames ruim je op met een bewaarbeleid, bijvoorbeeld de laatste 7 dagen, 4 weken en 6 maanden:
restic -r /mnt/backup/restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
Restic werkt ook met een server via SSH (sftp:gebruiker@server:/pad) en met cloudopslag zoals Backblaze B2 of elke dienst die S3 spreekt. Zo regel je ook de kopie buiten je huis.
Automatisch laten draaien
Een back-up die je moet onthouden, vergeet je. Laat hem elke nacht draaien met cron. Zet de opdracht in crontab -e, bijvoorbeeld elke nacht om 02:30. Hoe zo’n regel werkt, leg je uit onze cron-uitleg:
30 2 * * * restic -r /mnt/backup/restic backup /srv/nas --password-file /root/.restic-wachtwoord
Bewaar het wachtwoordbestand met alleen leesrechten voor jezelf (chmod 600).
Test je back-up
Een back-up waarvan je niet weet of hij werkt, is geen back-up. Zet minstens elk half jaar een paar bestanden terug naar een tijdelijke map en kijk of ze kloppen. Bij restic controleer je de opslag met restic check.
Wat bewaar je?
Alles wat je niet opnieuw kunt downloaden: foto’s, documenten, instellingen van je servers (zoals compose.yaml en de gegevens van je programma’s) en de back-ups van je virtuele machines. Films die je opnieuw kunt ophalen, hoef je minder strak te bewaren.