Back-up RPi

De Raspberry Pi maakt gebruik van een SD Card, welke uiteindelijk problemen gaat geven en/of defect raakt. Dit kan ontstaan door bijvoorbeeld teveel lees- of schrijfacties, reboots, etc…

Om veel leed te voorkomen, is het verstandig om (dagelijks) een automatische back-up van de Raspberry Pi te maken naar een externe locatie. In mijn geval heb ik gekozen voor een Synology NAS. Een voorwaarde voor mij is wel, dat de Raspberry Pi gewoon blijft functioneren.

Mocht het uiteindelijk een keer fout gaan en de Raspberry Pi niet meer opstart, dan is de back-up meteen op een nieuwe SD Card terug te zetten.

Back-up folder aanmaken

Als eerste stap dienen we een back-up folder aan te maken op de Raspberry Pi. 

sudo mkdir /mnt/backup

De volgende stap is een back-up folder aan te maken op de Synology NAS met een gebruiker die voldoende rechten heeft. Ik heb een folder “rpi” aangemaakt.

Mounten back-up folder na een herstart

Om ervoor te zorgen dat de backup folder weer gekoppeld wordt aan de folder op mijn Synology NAS, dienen we het bestand fstab aan te passen. 

sudo nano /etc/fstab

Hiervoor dienen we een aantal zaken te weten:

  • IP Adres van de Synology NAS [IPADRESNAS]
  • Gekozen folder op de NAS [FOLDER]
  • Gebruikersnaam [USER] en wachtwoord [PWD] met rechten tot de folder op de NAS

Voeg onderstaande regel toe aan het fstab bestand:

//[IPADRESNAS]/[FOLDER] /mnt/backup cifs comment=systemd.automount,defaults,rw,username=[USER],password=[PWD],uid=1000,gid=46 0 0

In mijn geval wordt het dan:

//192.168.0.10/rpi /mnt/backup cifs comment=systemd.automount,defaults,rw,username=USR,password=PWD,uid=1000,gid=46 0 0

Sla fstab op en sluit de nano editor af. Test nu de mount met het commando:

sudo mount -a

Het kan zijn dat er een foutmelding komt (/etc/fstab: parse error: ignore entry at line). Je hebt dan waarschijnlijk ergens een typefout gemaakt. Met onderstaand commando kan je snel controleren of er bijvoorbeeld vreemde karakters, teveel spaties, etc.. gebruikt zijn:

cat -v /etc/fstab

Met onderstaand commando kan je controleren of je de juiste gebruikersnaam en/of wachtwoord gebruikt hebt (vul je juiste parameters in):

sudo mount.cifs //[IPADRESNAS]/[FOLDER] /mnt/backup -o user=[USR],pass=[PWD],sec=ntlmssp,uid=1000,gid=46

Pas de eventuele fouten aan. 

Back-up script

Nadat alles goed werkt komen we aan bij het onderdeel van het back-up script. Het script kan hier gedownload worden. Nadat je het script gedownload hebt, pak je het lokaal uit op je systeem. In het script staan 2 variabelen die je eventueel kunt aanpassen:

# Declare vars and set standard values
backup_path=/mnt/backup
retention_days=3

Kopieer het .sh-bestand in de /mnt/backup folder op je Raspberry Pi en zorg ervoor dat het script uitgevoerd kan worden met onderstaand commando: 

sudo chmod +x /mnt/backup/system_backup.sh

Dagelijks uitvoeren met Crontab

Om ervoor te zorgen dat dit script automatisch dagelijks wordt uitgevoerd, voegen we het script toe aan crontab.

LET OP: het script dient als ROOT te worden uitgevoerd en dienen we de ROOT crontab aan te passen!

sudo crontab -e

Voeg onderstaande regel toe aan de crontab. Pas eventueel het pad aan als je het .sh-bestand niet in /mnt/backup hebt geplaats.

0 3 * * * /mnt/backup/system_backup.sh

Met bovenstaand command wordt er elke nacht om 3 uur een automatische back-up van de Raspberry Pi (SD Card) gemaakt naar de NAS.


Gebruikte resources: ehoco.nl – automatische raspberry pi backup

Like
1