Raspberry Pi backuppen naar een NAS (en weer terugzetten)

Raspberry Pi backuppen naar een NAS (en weer terugzetten)

In deze handleiding laat ik stap voor stap zien hoe je een Raspberry Pi (RPi) kunt backuppen naar een NAS en die backup later weer kunt terugzetten. Ideaal als je RPi belangrijke diensten draait en je veilig wilt kunnen herstellen bij problemen.

1. Waarom een backup naar je NAS?

  • NAS: altijd aan, veel opslag, centraal in je netwerk.
  • Raspberry Pi: draait vaak Home Assistant, scripts, logging, etc.
  • Doel: bij een crash van SD-kaart of SSD kun je snel herstellen.

We gaan uit van:

  • Een Raspberry Pi met Linux (bijv. Raspberry Pi OS).
  • Een NAS die via SMB (Windows share) bereikbaar is.
  • SSH-toegang tot de Raspberry Pi.

2. NAS-share klaarzetten

Op je NAS:

  1. Maak een gedeelde map, bijvoorbeeld: rpi-backups.
  2. Maak een gebruiker, bijvoorbeeld: backupuser met een sterk wachtwoord.
  3. Zorg dat de share via SMB bereikbaar is, bijvoorbeeld: \\nas\rpi-backups.

Noteer:

  • NAS-hostname of IP (bijv. nas.local of 192.168.1.10).
  • Sharenaam (bijv. rpi-backups).
  • Gebruiker + wachtwoord.

3. NAS-share mounten op de Raspberry Pi

Log in op je Raspberry Pi via SSH:

ssh pi@<ip-van-je-rpi>

3.1. Map voor de NAS-mount maken

sudo mkdir -p /mnt/rpi-backup

3.2. SMB-client installeren (indien nodig)

sudo apt update
sudo apt install -y cifs-utils

3.3. NAS-share tijdelijk mounten

sudo mount -t cifs //nas.local/rpi-backups /mnt/rpi-backup \
  -o username=backupuser,password=sterkwachtwoord,iocharset=utf8

Test of de share werkt:

ls /mnt/rpi-backup

4. Volledige systeembackup maken (RPi → NAS)

We maken een gecomprimeerde backup van belangrijke directories naar de NAS.

Typisch wil je backuppen:

  • /etc – systeemconfiguratie
  • /home – gebruikersdata
  • /var/lib – applicatie-data (bijv. Home Assistant, Docker, databases)

4.1. Backupscript maken

Maak een script:

sudo nano /usr/local/bin/rpi_backup_to_nas.sh

Plak deze inhoud:

#!/bin/bash

BACKUP_DIR="/mnt/rpi-backup"
DATE=$(date +"%Y-%m-%d_%H-%M")
HOSTNAME=$(hostname)

BACKUP_FILE="${BACKUP_DIR}/${HOSTNAME}_backup_${DATE}.tar.gz"

echo "Start backup: ${BACKUP_FILE}"

tar -czf "${BACKUP_FILE}" \
  /etc \
  /home \
  /var/lib

echo "Backup voltooid: ${BACKUP_FILE}"

Maak het script uitvoerbaar:

sudo chmod +x /usr/local/bin/rpi_backup_to_nas.sh

4.2. Backup uitvoeren

sudo /usr/local/bin/rpi_backup_to_nas.sh

Controleer op de NAS-share of het .tar.gz-bestand is aangemaakt.

5. Backup automatisch laten draaien (cron)

Open de root-crontab:

sudo crontab -e

Voeg bijvoorbeeld toe (dagelijks om 02:00):

0 2 * * * /usr/local/bin/rpi_backup_to_nas.sh >> /var/log/rpi_backup.log 2>&1

Nu draait de backup automatisch elke nacht.

6. Oude backups automatisch verwijderen

Om te voorkomen dat je NAS volloopt, kun je oude backups automatisch laten verwijderen.
Onderstaand script verwijdert alle backupbestanden ouder dan 30 dagen.

Maak het opschoonscript:

sudo nano /usr/local/bin/rpi_cleanup_old_backups.sh

Plak deze inhoud:

#!/bin/bash

BACKUP_DIR="/mnt/rpi-backup"

# Verwijder backups ouder dan 30 dagen
find "${BACKUP_DIR}" -type f -name "*.tar.gz" -mtime +30 -print -delete

echo "Oude backups verwijderd (ouder dan 30 dagen)"

Maak het script uitvoerbaar:

sudo chmod +x /usr/local/bin/rpi_cleanup_old_backups.sh

Voeg toe aan cron (bijv. elke zondag om 03:00):

0 3 * * 0 /usr/local/bin/rpi_cleanup_old_backups.sh >> /var/log/rpi_backup.log 2>&1

7. Backup terugzetten vanaf de NAS naar de Raspberry Pi

Stel: je Raspberry Pi is opnieuw geïnstalleerd of je wilt een oudere backup terugzetten.

7.1. NAS-share opnieuw mounten

Herhaal de stappen uit hoofdstuk 3 om /mnt/rpi-backup te mounten.

7.2. Backupbestand kiezen

Bekijk beschikbare backups:

ls /mnt/rpi-backup

Kies een bestand, bijvoorbeeld:

BACKUP_FILE="/mnt/rpi-backup/<hostname>_backup_2026-09-28_16-00.tar.gz"

7.3. Backup uitpakken

Let op: dit overschrijft bestaande configuratie/data in de genoemde directories.

sudo tar -xzf "${BACKUP_FILE}" -C /

Daarmee worden /etc, /home en /var/lib hersteld naar de staat van het moment van de backup.

Herstart daarna de Raspberry Pi:

sudo reboot

8. Tips voor veiligheid en betrouwbaarheid

  • Gebruik een aparte NAS-gebruiker alleen voor backups.
  • Gebruik sterke wachtwoorden.
  • Overweeg rsync over SSH als je SMB niet wilt gebruiken.
  • Controleer regelmatig of backupbestanden leesbaar zijn:
    tar -tzf <backupbestand>
    
  • Bewaar meerdere versies in plaats van steeds hetzelfde bestand te overschrijven.

9. Conclusie

Met een Raspberry Pi en een NAS heb je een krachtige combinatie: de Pi draait je diensten, de NAS bewaart je backups. Met een simpel script en cron heb je dagelijkse, geautomatiseerde backups, inclusief automatische opschoning. Terugzetten is niet meer dan mounten, uitpakken en rebooten.

Loading


Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie gegevens worden verwerkt.

Translate »