Automatische Raspberry Pi backup – complete image

Vroeg of laat geven de SD-kaarten van de Raspberry Pi’s problemen, bijvoorbeeld door stroomuitval en door verkeerde instellingen. Zodra je je Raspberry Pi hebt voorzien van Raspbian en eventueel Domoticz wil je natuurlijk een Raspberry Pi backup hebben voor het geval er iets fout gaat en je Raspberry niet meer boot.

In dit artikel leggen we uit hoe je een automatische Raspberry Pi backup kunt instellen. Het doel is om de backup iedere nacht om 03.00 uur te laten uitvoeren en de Raspberry Pi Backup weg te schrijven naar een folder op je NAS door middel van een NFS share (uiteraard kun je ook een USB-stick of externe harddisk gebruiken). Daarnaast willen we dat de Raspberry Pi gewoon blijft draaien tijdens de backup en dat je de Raspberry Pi backup direct op een nieuwe SD-kaart kunt restoren. We gaan beginnen!

Benodigdheden

Maak een de folder aan op je Raspberry Pi. Ik heb gekozen voor /mnt/backup, maar het mag een willekeurig folder zijn:

Mounten na reboot

Uiteraard willen we dat de mount naar je NAS na een reboot van de Raspberry Pi ook aanwezig is. Hiervoor dienen we een wijziging aan te brengen ins fstab:


Voeg onderstaande regel toe:

  • 192.16.8.2.157 -> IP-adres van je NAS
  • Backups/Backup_Raspberry_Pi -> de folder op je NAS die je wilt mounten
  • /mnt/backup -> de folder op je Raspberry Pi
  • comment=systemd.automount -> hiermee geven we aan dat de mount alleen plaatsvindt als er om gevraagd wordt. Aangezien ik alleen de WLAN-interface op de Raspberry gebruikt moest ik deze voorwaarde toevoegen, aangezien de Raspberry Pi na een reboot wilde mounten, terwijl de Wi-Fi-verbindig nog niet opgestart was.
  • username=pietje -> gebruikersnaam van je NAS
  • password=puk -> wachtwoord van je NAS

Test de mount met commando:


Als er een fout in fstab zit krijg je dit te zien. Eventueel kun je onderstaand commando gebruiken om bijvoorbeeld te controleren dat je gebruikersnaam en wachtwoord correct zijn:


Corrigeer eventuele fouten en download vervolgens hier het script. Pak het script uit met een extracter (bv. WinRar) en plaats het .sh-bestand in een folder naar keuze. Ik heb het script op mijn NAS geplaatst, zodat ik het ook kan gebruiken voor mijn andere Raspberry Pi’s.

Maak het script uitvoerbaar:

Crontab

De laatste stap is om het script toe te voegen aan crontab. Aangezien het script uitgevoerd moet worden als root moeten we de root crontab wijzigen:


Voeg onderstaande regel toe (let op dat je de locatie wijzigt naar de folder waar je het script hebt opgeslagen):


Er wordt nu iedere nacht om 3 uur een backup van de SD-kaart van je Raspberry Pi gemaakt.

 

Variabelen in het script

Het gebruikte script heeft twee variabelen, namelijk backup_path en retention_days. De eerste is de locatie waar de backup wordt opgeslagen, de tweede is het aantal dagen dat een backup wordt bewaard. Deze twee waarden kun je zelf aanpassen.

59 gedachten over “Automatische Raspberry Pi backup – complete image

    • 17 april 2020 om 21:41
      Permalink

      Ok, al veel gegoogled hierop maar vind nergens een oplossing. Suggesties zijn meer dan hartelijk welkom!
      dd: error writing ‘/mnt/backup/raspbian.img’: No space left on device
      1024+0 records in
      1023+0 records out
      4293918720 bytes (4.3 GB, 4.0 GiB) copied, 1162.23 s, 3.7 MB/s
      root@raspberry4b:~#

      Beantwoorden
      • 18 april 2020 om 16:18
        Permalink

        Wat is het resultaat van commando df -h ?

        Beantwoorden
  • 23 december 2018 om 16:45
    Permalink

    Top tip!
    Er moe(s)t alleen geen spatie tussen “uid=1000, gid=46″…
    En vraag me ook af een ddump van een pi wel een consistente backup oplevert als je er bijvoorbeeld Domoticz op draait dat constant aan het loggen is…

    Beantwoorden
    • 30 december 2018 om 09:17
      Permalink

      Je zou de services van Domoticz eerst kunnen stoppen, de backup draaien en vervolgens de services van Domoticz weer starten.

      Trouwens, ook niet onbelangrijk: Welke syntax kan het beste worden gebruikt om een eventuele restore uit te voeren?

      Beantwoorden
  • 30 december 2018 om 14:12
    Permalink

    Kreeg een melding: Mount error (112): Host is down. Regel aangepast naar;
    //192.168.2.157/Backups/Backup_Raspberry_Pi /mnt/backup cifs comment=systemd.automount,defaults,rw,username=pietje,password=puk,vers=1.0,uid=1000,gid=46 0 0

    Let op: Vers=1.0 en geen spatie achter,

    Beantwoorden
  • 25 februari 2019 om 21:43
    Permalink

    Hi Joost,

    Het is mij uiteindelijk gelukt. Mijn images op de NAS zijn nu alles tussen de 1 MB en 28,65 MB. Een fractie van de werkelijkheid dus. Overigens heeft mijn 64 GB USB stick waar mijn RB Pi 3B+ op draait nog slechts enkel 18 GB over…

    Wat heb. ik fout gedaan? Zou dit graag werkend hebben…

    Dank & groet van een fan,
    Michel

    Beantwoorden
  • 6 maart 2019 om 14:15
    Permalink

    Ik krijg steeds deze foutmelding :
    -bash: //192.168.178.2/Public/domoticzbackup: No such file or directory

    terwijl map toch echt bestaat. Wie weet een oplossing ?

    Beantwoorden
  • 20 april 2019 om 15:18
    Permalink

    Dank voor dit scripts (en de andere op deze site)! Het werkt vlekkeloos!

    Echter 1 vraag: retention_days staat bij mij op 3 dagen. Het is vandaag 20-4 en vannacht heeft het script de backup van 15-4 weg gehaald. Op dit moment staan er dus 5 backups op mijn nas (16-4 t/m 20-4). Terwijl dat er volgens mij dan 4 moeten zijn (de oudste backup zou dus max 3 dagen oud moeten zijn).

    Kan iemand toelichten hoe dit zit? Want zo goed snap ik Linux commands nog niet.

    Dank alvast!

    Beantwoorden
  • 19 juli 2019 om 00:41
    Permalink

    Het mounten was even lastig.
    Daarna een backup maken ging prima, tot een kleine 32 gb.
    Hiervoor heb ik het script een beetje aangepast:
    dd if=/dev/mmcblk0 bs=4M | gzip -c > $backup_path/$HOSTNAME.$(date +%Y%m%d).img.gz
    Het resultaat is een backup die 10% is van sd-kaart!

    Beantwoorden
  • 22 juli 2019 om 14:37
    Permalink

    Waar is de Windows machine?
    Vooropgesteld ik ben nog een Linux analfabeet maar waarom mounten als CFIS en niet als NFS?

    //192.168.2.157/Backups/Backup_Raspberry_Pi /mnt/backup nfs nolock,noatime 0 0

    Vergeet niet elke Raspberry IP-adres aan te melden als NFS op je NAS.

    Beantwoorden
    • 22 juli 2019 om 22:22
      Permalink

      Mounten als NFS kan ook prima. Ik gebruik nu: 192.168.2.72:/nfs/Backups/Backup_Raspberry_Pi /mnt/backup nfs comment=systemd.automount

      Beantwoorden
  • 5 november 2019 om 22:58
    Permalink

    Ik heb je artikel hier ook eens geprobeerd.
    Helaas komt er niets op mijn nas te staan.

    is er ergens een logfile waar ik kan zien wat er mis gaat?

    Beantwoorden
    • 7 november 2019 om 17:12
      Permalink

      Bas, uit ervaring weet ik inmiddels dat het op legio manieren fout kan gaan met als sprekend voorbeeld dat de NAS mount na een reboot uitbleef terwijl een manuele mount (sudo mount -a) perfect (alsnog) werkte. Dit valt niet direct op. Bovendien staan hierboven twee methodes beschreven voor het mounten van je NAS die zeer verschillend zijn.

      Optie 2: Kijk je als ADMIN op je NAS of met een userid zonder adminrechten? Wie weet zie je niet de userid waarmee je raspberry de NAS benadert en gaat alles toch goed. Zelf heb ik een script op de NAS gezet, deze getest voordat ik deze toevoegde in cron en toch….

      Ik maak overigens geen volledige back-up, beetje onzinnig dit dagelijks te doen maar zeker verstandig van tijd tot tijd een volledig kopie te maken van je SD-kaart; hiervoor gebruik ik overigens rpi-clone (met een kaartlezer direct aan de RPi).

      Bij het uittesten kan je beter iets ‘snellers’ uitproberen, zelf gebruik ik voor INFLUX bijgaand script die binnen een minuut klaar is:

      #!/bin/bash
      # Automate INFLUX Backups
      # =======================
      # add to /etc/fstab as one (=1) line
      # 192.168.0.200://backup/rpi/openhab /mnt/nas nfs4 rw,nolock,noauto,x-systemd.automount,x-systemd.device-timeout=5,retry=0,_netdev 0 0
      # Set Permission on your NAS: Add the RPI IP address to the NFS Host Access under Shared Folder Permissions.
      #
      # copy/create file /mnt/nas/influx_backup.sh
      # make executable sudo chmod +x /mnt/nas/influx_backup.sh
      # run manual sudo bash /mnt/nas/influx_backup.sh 10
      # schedule with sudo crontab -e with 0 3 * * * /mnt/nas/influx_backup.sh
      # create full clone to SD-card
      # rpi-clone sda -u
      # create influx copy since… (update date when on full clone)
      influxd backup -portable -since 2019-08-30T00:00:00Z /mnt/nas/influx/
      # delete all files older than retention days
      # Check to see if we got command line args
      if [ ! -z $1 ]; then
      retention_days=$1
      else
      retention_days=7
      fi
      find /mnt/nas/influx/ -mtime +$1 -exec rm {} \;
      #set time in OpenHab(ian)
      curl -X PUT –header “Content-Type: text/plain” –header “Accept: application/json” -d $(date +%Y/%m/%d-T%H:%M:%S) “http://127.0.0.1:8080/rest/items/Influx_Data/state”

      En ik moet eerlijk bekennen ik heb dit script vandaag verder geperfectioneerd toen ik erachter kwam dat het reduceren van het aantal keer dat ik mijn NAS mounte toch consequenties had. 🙂

      Beantwoorden
  • 16 november 2019 om 19:02
    Permalink

    Ik ben blij met deze oplossing maar ik krijg het niet goed aan het werk.
    Ik krijg het volgende als ik het script met de hand uitvoer:

    pi@RaspDomo:/mnt/backup $ sudo ./system_backup.sh
    dd: failed to open ‘/dev/mmcblk0’: No such file or directory
    find: ‘/mnt/backup/RaspDomo.*.img’: No such file or directory
    pi@RaspDomo:/mnt/backup $

    Als ik in /dev kijk is er ook geen mmcblk0.

    Weet iemand wat ik fout doe?
    Een reactie wordt op prijs gesteld.

    Beantwoorden
  • 30 december 2019 om 11:04
    Permalink

    @Bert,

    Gebruik lsblk -p om te achterhalen welk apparaat je wilt backuppen.
    Ik gebruik zelf een SSD en mijn device is sda.
    In mijn geval is de regel met dd :
    dd if=/dev/sda bs=4M | gzip -c > $backup_path/$HOSTNAME.$(date +%Y%m%d).img.gz

    Beantwoorden
  • 10 januari 2020 om 13:38
    Permalink

    Simpel en doeltreffend; daar hou ik wel van! 🙂 De how-to is super helder en het geheel is eenvoudig op de RPi te installeren. Tx!

    Voor de liefhebbers: op een RPi 3+ B met een 32GB Samsung Evo duurt de operatie 1 uur en 10 minuten naar een Synology DS215+ over een Gigabit netwerk.

    Beantwoorden
    • 18 juli 2020 om 15:26
      Permalink

      In de tussentijd is de SD kaart vervangen voor een SSD van 120GB. Dat levert een back-up op van 112 GB ondanks dat het hoofdzakelijk lege ruimte is (slechts 8GB in gebruik). Dat moet anders kunnen! En dat klopt! Het kan anders. Door de output van dd door te zetten naar GZIP kun je flink wat ruimte besparen. Bij mij is de back-up van 112GB gedaald naar 13GB. Hoe? Door in het shell script de laatste regels te vervangen voor dit:

      # Perform backup
      ## dd bs=4M conv=sparse if=/dev/sda of=$backup_path/$HOSTNAME.$(date +%Y%m%d).img
      dd bs=4M conv=sparse if=/dev/sda | gzip > $backup_path/$HOSTNAME.$(date +%Y%m%d).img.gz

      # Remove fsck trigger
      rm /boot/forcefsck

      # Delete old backups
      find $backup_path/$HOSTNAME.*.img.gz -mtime +$retention_days -type f -delete

      De laatste regel zorgt ervoor dat ook de gezipte backups netje worden verwijderd.

      Elk voordeel heb’ zijn nadeel! De back-up duurt 50% langer. Voor mij geen probleem omdat de back-up in de nacht draait.

      GUNZIP gebruik je om te restoren 😉

      Beantwoorden
      • 22 oktober 2020 om 19:18
        Permalink

        Pffft… ik moet stoppen met het beantwoorden van mijn eigen reacties maar ja… daar ga je 😉

        De installatie van mijn Pi raakte onherstelbaar beschadigd. Tijd dus om een back-up terug te zetten. Aangezien ik mijn back-ups comprimeer is dat iets anders dan een bestandje “branden” op een SD kaart.

        Met dit commando heb ik mijn SSD van 120GB herstelt:

        gunzip –stdout “[laatste versie van de backup].img.gz” | sudo dd bs=4M of=/dev/sda

        Uiteraard zonder rechte haken. Voorbeeld: RPi3.20201020.img.gz

        En natuurlijk geldt bij het restoren ook dat het 50% langer duurt 🙁

        Beantwoorden
      • 25 oktober 2022 om 11:35
        Permalink

        Krijg wel een gezipt bestand maar de bestand groote is het zelfde.
        en het duurt wel veel langer.

        Beantwoorden
        • 25 oktober 2022 om 18:40
          Permalink

          Dat is vreemd! Weet je zeker dat er niet een (heel kleine) typo is jouw script zit? Als je het script bewerkt op een Windows machine dan het liefst in NotePad/Kladblok want dan komen er geen rare karakters mee waar Linux niet zo lekker mee omgaat.

          En ook even checken of jouw Pi helemaal up to date is (gzip bijvoorbeeld)

          Beantwoorden
          • 25 oktober 2022 om 20:52
            Permalink

            ik krimp ‘m door na het backup script pi-shrink.sh vanuit de backup destination aan te roepen:
            # Shrink image
            $backup_path/pishrink.sh $backup_path/$HOSTNAME.$(date +%Y%m%d).img
            Te downloaden op https://github.com/Drewsif/PiShrink
            Het image van mijn 32 GB USB stick wordt bij mij daarmee teruggebracht tot ca 6 GB.
            Na het restoren en rebooten “unshrinkt” ie ‘m dan automatisch tot de grootte van de (nieuwe) SD kaart (of in mijn geval dus een USB stick).

          • 27 oktober 2022 om 21:17
            Permalink

            Ik gebruik nu pishrink,dit werkt ook prima.

  • 14 januari 2020 om 21:24
    Permalink

    Is het ook mogelijk om de backup automatisch naar Google – OneDrive te laten gaan?

    Want dit zie ik wel heel graag gebeuren.

    Beantwoorden
    • 30 maart 2020 om 02:55
      Permalink

      Heb zelf zojuist liggen zoeken naar een backup oplossing voor 2 pi’s maar rclone is je antwoord. rclone kan bestanden naar clouddiensten backuppen.

      Nadeel is wel voor zover ik nu zie dat je de backup eerst elder moet opslaan op een externe usb stick/hdd of op de sd zelf.

      Beantwoorden
    • 18 juni 2020 om 09:52
      Permalink

      Op een Synology NAS kun je Cloud Sync gebruiken om je backup directory automatisch met een cloud provider te synchroniseren

      Beantwoorden
      • 15 april 2020 om 23:35
        Permalink

        als ik de sd card formateer en de backup met windisk terugzet, start de pi niet meer op.

        end kernel panic – not syncing: no working init found try passing init =option to kernel.

        het werkte wel toen ik dit installeerde(ongeveer jaar geleden.. dacht nu na de update naar buster en domoticz laat ik het controleren of het nog werkt… maar nee dus..

        Beantwoorden
  • 9 maart 2020 om 19:37
    Permalink

    sudo mount.cifs //192.168.1.199/Backup/Backup_Raspberry_Pi /mnt/backup -o user=naam,pass=wachtwoord,sec=ntlmssp,uid=1000,gid=46
    Op naam en wachtwoord staan de werkelijke inlognaam en wachtwoord
    Dan krijg ik:
    mount error(16): Device or resource busy
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
    sudo mount-a
    mount: /etc/fstab: parse error at line 6 — ignored

    Beantwoorden
  • 24 mei 2020 om 00:39
    Permalink

    Het creeren van de .img file gaat bij mij prima. Echter als ik deze probeer te writen naar een SD kaartje krijg ik de melding dat de image file corrupt is. Enig idee waar dit aan kan liggen?

    Beantwoorden
  • 25 juli 2020 om 12:58
    Permalink

    Alles werkt prima en het restoren van backups gaat prima. Maar ik kan (uit ervaring) vertellen dat je SQLite databse van Domoticz corrupt raakt als je ondertussen Domoticz gewoon blijft gebruiken. Niet zo heel gek natuurlijk want je file wordt stukje voor stukje weggeschreven en als er dan ondertussen iets verandert in je DB file, is de consistentie niet meer te garanderen.

    Het stoppen van Domoticz is natuurlijk een optie maar dan is het ruim een uur niet beschikbaar en dat kan vervelend zijn als je allerlei sensoren monitort. Een andere optie is vlak voor de backup even je db kopieren (cp domoticz/domoticz.db domoticz/domoticz.db.bakup). Dat duurt paar seconde en levert een stabiele backup van je DB op. Mocht je dan een keer je image terug moeten zetten, kun je direct na de restore Domoticz even stoppen en de backup van je DB terug zetten. En klaar is Kees.

    Beantwoorden
  • 28 augustus 2020 om 12:04
    Permalink

    Ha Gijs,
    Vraagje n.a.v. je laatste post.
    Als je de db kopieert en na de backup terug zet ben je toch ook de data kwijt gedurende de backup?
    Of laat je domoticz dan wel gewoon doorlopen tijdens de backup?
    Co

    Beantwoorden
  • 29 september 2020 om 15:07
    Permalink

    Misschien een domme vraag, maar hoe krijg ik deze backup (als dat ooit nodig is) terug op de raspi?

    Beantwoorden
  • 17 december 2020 om 09:09
    Permalink

    Hallo,

    weet iemand hoe ik deze melding kan oplossen?
    mount: /etc/fstab: parse error at line 1 — ignored
    mount: /etc/fstab: parse error at line 2 — ignored
    mount: /etc/fstab: parse error at line 7 — ignored

    Beantwoorden
    • 11 februari 2023 om 14:40
      Permalink

      //192.168.2.157/Backups/Backup_Raspberry_Pi /mnt/backup cifs comment=systemd.automount,defaults,rw,username=pietje,password=puk,uid=1000,gid=46 0 0

      Beantwoorden
  • 20 januari 2021 om 09:34
    Permalink

    Getest en werkt goed, ook IMG bestand teruggezet met “USB Image Tool” op SD kaart en werkt.
    Alleen het automatische mounten na een reboot ging niet goed.
    Doordat mijn NAS server (OMV) op dezelfde PI staat was deze nog niet opgestart.
    Daarom in crontab volgende toegevoegd. @reboot sleep 20 && sudo mount -a
    Dit zorgt ervoor dat na 20sec pas de boel mount na reboot zodat de NAS server de tijd krijgt
    op te starten.

    Beantwoorden
  • 18 februari 2021 om 17:26
    Permalink

    Hallo! Ik krijg een foutmelding als ik het script probeer te downloaden dat het IP adres is gemarkeerd wegens mogelijke veiligheidsschendingen. Maar dat is niet mijn ip adres.

    Beantwoorden
  • 12 maart 2021 om 14:37
    Permalink

    Ik draai een pi4 met ssd.

    Als ik het script manueel uitvoer (sudo mnt/backup//system_backup.sh), krijg ik onderstaande foutmelding:

    dd: openen van ‘/dev/mmcblk0’ is mislukt: Bestand of map bestaat niet
    find: ‘/mnt/backup/raspberrypi.*.img’: Bestand of map bestaat niet

    Als ik df doe op de Rpi, zie ik dat de share beschikbaar is met voldoende ruimte

    Beantwoorden
    • 24 maart 2021 om 16:59
      Permalink

      probleem opgelost! Helaas is mijn eigen stommiteit blijvend

      Beantwoorden
  • 19 maart 2021 om 09:22
    Permalink

    Bij mij worden de oude backups netjes in een “recycle bin” binnen de backup map gezet…dus niet echt verwijderd. Enig idee hoe ze echt te verwijderen? Weet niet zo goed hoe ik de laatste regel van het script moet aanpassen. Zou het iets zijn met -rm…enig hulp zou fantastisch zijn :))

    Beantwoorden
  • 31 mei 2021 om 17:18
    Permalink

    Tof scriptje. Werkt goed hier. Ik merk alleen dat de CIFS verbinding van de Pi naar de NAS actief blijft tot een reboot van één van beide. Is er nog iets wat ik toe kan voegen aan het script om die verbinding direct na de backup te verbreken?

    Beantwoorden
  • 29 juli 2021 om 14:29
    Permalink

    Als ik sudo mount -a doe krijg ik een parse error in line 6 (the line starting with //192.168.0.10)

    Beantwoorden
  • 28 november 2021 om 17:15
    Permalink

    Hulde!

    Wie weet mij misschien te vertellen :

    Ik heb dit script altijd goed draaien gehad ; Maar mijn raspberry draait nu op een externe SSD zonder sd card.
    Ik heb dus geen /dev/mmcblk0 ; maar verschillende partities.
    Hoe kan nu de gehele ssd disk aangeven als input?

    Beantwoorden
    • 29 november 2021 om 17:22
      Permalink

      Hi Mike,

      Je kunt dat eenvoudig uitvogelen door in een terminal sudo mount uit te voeren. Mijn SSD heeft als device /dev/sda. De active partitie is bij mij sda2.

      Het commando ziet er bij mij als volgt uit:

      dd bs=4M conv=sparse if=/dev/sda of=$backup_path/$HOSTNAME.$(date +%Y%m%d).img

      Succes!

      Beantwoorden
  • 14 februari 2022 om 09:56
    Permalink

    Is het ook mogelijk om scriopt aan te passen zodat er ipv elke dag, eens per week een backup wordt gemaakt en zoja, hoe ?

    Beantwoorden
  • 14 februari 2022 om 16:45
    Permalink

    Paar dagen geleden na 2 jaar nieuwe poging gedaan om dit te installeren. Deze keer geen foutmeldingen. Echter wordt er niks gebackupt. Heb geprobeerd om script handmatig te starten maar dan krijg ik de melding : must run from root. Dit vind ik raar, want ik heb exact dezelfde map gemaakt zoals in de beschrijving namelijk /mnt/backup en daar script in gekopieerd. Vervolgens is script automatisch ook naar backup map op nas gekopieerd,geen idee waarom ?! Wie kan me op weg helpen om dit werkend te krijgen of op zijn minst dat ik kan controleren of het script zijn werk doet ??

    Beantwoorden
  • 24 oktober 2022 om 22:19
    Permalink

    heb je wel gerunt met sudo.
    en de mappen.bestanden op 755 gezet?

    Beantwoorden
  • 29 januari 2023 om 04:02
    Permalink

    is het ook mogelijk om alleen een bepaalde directory te backuppen ipv de hele kaart?

    Beantwoorden
  • 11 februari 2023 om 14:43
    Permalink

    In de volgende regel van de auteur van dit topic zit een klein foutje.
    //192.168.2.157/Backups/Backup_Raspberry_Pi /mnt/backup cifs comment=systemd.automount,defaults,rw,username=pietje,password=puk,uid=1000, gid=46 0 0
    Voor de gid=46 staat een spatie
    //192.168.2.157/Backups/Backup_Raspberry_Pi /mnt/backup cifs comment=systemd.automount,defaults,rw,username=pietje,password=puk,uid=1000,gid=46 0 0
    De laatste regel is de juiste scheelt een hoop zoekwerk voor velen..

    Beantwoorden

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.