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.
Code: Select all
sudo mkdir /mnt/backup
Credentials bestand aanmaken
Om de gebruikersnaam en wachtwoord later in te kunnen vullen, maken we een zogenaamd credentials bestand aan
Code: Select all
cd /home/pi
sudo nano .nascreds
Code: Select all
username=[username]
password=[password]
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.
Code: Select all
sudo nano /etc/fstab
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:
Code: Select all
//[IPADRESNAS]/[FOLDER] /mnt/backup cifs credentials=/home/pi/.nascreds,nofail,vers=1.0,x-systemd.automount 0 0
Code: Select all
//192.168.1.10/rpi /mnt/backup cifs credentials=/home/pi/.nascreds,nofail,vers=1.0,x-systemd.automount 0 0
Code: Select all
sudo mount -a
Code: Select all
cat -v /etc/fstab
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:
Code: Select all
# Declare vars and set standard values
backup_path=/mnt/backup
retention_days=3
Code: Select all
sudo chmod +x /mnt/backup/system_backup.sh
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!
Code: Select all
sudo crontab -e
Code: Select all
0 3 * * * /mnt/backup/system_backup.sh
Opmerking(en) - inloggen met root rechten
Bovenstaande info heb ik gebruikt en werkt prima. Het Crontab script moet inderdaad met root rechten gestart worden anders kan het
bestand niet aangepast worden. Met root rechten een bestand openen:
Code: Select all
sudo -i