Raspberry Pi back-up maken

Het gaat een keer gebeuren dat de SD kaart van je Raspberry Pi het begeeft. Je kan dan alles opnieuw gaan installeren en je bent je gegevens kwijt. Aangezien ikzelf op dit moment 5 Pi’s heb draaien heb ik daar niet zoveel zin in.

Met dit script maak je een clone van je Pi in een .img vorm. Deze image schrijf je weg naar een gedeelde map (SMB) op je NAS.

Hieronder de instructie hoe je dit doet zonder de Raspberry Pi af te sluiten.

Log met Putty in op je Pi en voer het volgende commando in:

sudo mkdir /mnt/backup

Nu maken we het bestand aan met de login gegevens van je NAS

cd /home/pi
sudo nano .nascreds

Zet nu in dit bestand het volgende:

username=gebruikersnaam
password=wachtwoord

Bewaar het bestand en sluit het af met CTRL + X. Bevestig dat je het bestand wil overschrijven met Y en druk op ENTER.

Nu gaan we instellen dat de gedeelde map moet worden gestart bij het opstarten van de Pi.

sudo nano /etc/fstab

Plaats onderaan het bestand de volgende (aangepaste) regel.

//IPADRESNAS/MAP /mnt/backup cifs credentials=/home/pi/.nascreds,nofail,vers=1.0,x-systemd.automount   0  0

Sluit het wederom af met CTRL + X. Bevestig dat je het bestand wil overschrijven met Y en druk op ENTER.

Test of je de gedeelde map kan koppelen.

sudo mount -a

Als je geen foutmelding krijgt is het gelukt. Je kan het testen d.m.v. van cd naar de /mnt/backup/ map te gaan. Als je hier bent typ je ls -l en zal je zien dat de map leeg is. Als je nu een nieuwe map aanmaakt op je NAS en typt ls -l opnieuw zal je de nieuwe map zien in je terminal.

Mocht je nou wel een foutmelding krijgen, bijvoorbeeld deze:

Dan is het systeemonderdeel cifs nog niet geïnstalleerd. Die kan je met het volgende commando installeren.

sudo apt-get install  samba-common smbclient samba-common-bin smbclient  cifs-utils

Als die klaar is met installeren zal je de Pi opnieuw moeten opstarten. Na het opstarten zal ook direct de koppeling met je NAS zijn gemaakt.

Kopieer nu het back-up script naar de gedeelde map. Het script kan je hier downloaden.

Voer nu het volgende commando in voor de rechten.

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

Het script gedeelte is nu klaar. Nu gaan we instellen dat de back-up iedere dag moet draaien. Voer het volgende in.

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

Sluit het bestand wederom met CTRL + X. Bevestig dat je het bestand wil overschrijven met Y en druk op ENTER.

Nu hebben we aangegeven dat de back-up iedere dag om 03:00 in de nacht start. Wil je dit liever anders, dan kan je hier een ander moment genereren: https://crontab.guru/

Alles is nu klaar! Mocht je het moment van je planning niet willen afwachten dan kan je het ook handmatig starten d.m.v.:

sudo bash /mnt/backup/system_backup.sh

Als je nu de terminal sluit stopt de back-up ook. Wil je dat die doorgaat plak je er een & teken achter. Dus zo:

sudo bash /mnt/backup/system_backup.sh &