20221101 Raspberry Pi Back-up

Missie:

We maken een backup van de SD kaart van de Raspberry Pi.

Een back-up maken is een cruciale taak die vaak uitgevoerd zou moeten worden, vooral als er veel wijzigingen aan zijn gebracht, of je gegevens op de SD-kaart opslaat.
Een ding om op te merken is dat sommige back-upmethoden veel grondiger zullen zijn dan andere, bijvoorbeeld een back-up van de Raspberry Pi SD-kaart zal betrouwbaarder zijn dan alleen een back-up van alle bestanden naar een USB-apparaat, aangezien het image van de SD kaart een replicatie is van alle partities op die SD-kaart.
We zullen in deze handleiding twee verschillende methoden onderzoeken om een back-up van de Raspberry Pi te maken. De twee verschillende methoden die ik laat zien, zijn de volgende:

  • Een back-up maken van de Raspberry Pi op een computer met behulp van een SD-kaartlezer.
  • Een back-up maken van de Raspberry Pi naar een USB-apparaat.
Persoonlijk raad ik een back-up op een computer aan, omdat dit de meest robuuste methode is. Vooral omdat de Raspberry Pi niet de beste USB-snelheden of netwerksnelheden heeft, dus het maken van back-ups kan veel tijd kosten en een behoorlijke belasting vormen voor de beperkte middelen van de Raspberry Pi.
Als bonus is de back-up die we maken met behulp van een tool zoals Win32DiskImager een 1 op 1 kopie van de SD-kaart, wat betekent dat elke byte hetzelfde zal zijn.
Het maken van een back-up van de Raspberry Pi is een belangrijke stap om ervoor te zorgen dat er geen gegevens verloren gaan wanneer er grote wijzigingen aan het systeem aangebracht worden. Dit back-up proces is belangrijk als je dingen hebt die je liever niet kwijtraakt als je een ingewikkeld Pi-project, een upgrade of iets anders aan het besturingssysteem wilt doen.

Stap 1 - De Raspberry Pi stoppen.

Om de back-up te kunnen maken si een SD-kaartlezer een handig accesoire.
Dat kan een kaartlezer direct in je PC zijn of een USB apparaat.
Ten eerste gaan we de Raspberry Pi stoppen met het volgende commando in een terminal venster:

						sudo shutdown now
					

Door dit commando gaat de Raspberri Pi zijn besturingssysteem stoppen.
Wacht een tijdje tot je er zeker van bent dat de Raspberri Pi gestopt is, kijk naar de LED’s.
Sluit de spanning van je Raspberry Pi af en haal de SD-kaart uit je apparaat.
In de rest van de tutorial gaan ik er van uit dat je PC een Windows machine is.
Voor Linus en Mac zijn er andere methodes, die uitgebreid in artikelen op www beschreven worden.

Stap 2 - Download van Win32DiskImager.

Het programma Win32DiskImager kun je vanaf deze website downloaden.
Installeer het programma en start het op, dat geeft het volgende beeld.

w32dmStart.jpg

Stap 3 - Win32DiskImager gebruiken.

Met het programma Win32DiskImager geopend, kunnen we beginnen met keuzes te maken:

  1. De keuze voor de drive letter voor de SD kaart maken bij Device.
    Zorg dat je zeker van bent van je keuze, controleer eventueel je keuze met de verkenner.
  2. Klik het folder icoon aan in Win32DiskImager.
    Dit zorgt ervoor dat een verkenner venster wordt geopend.
  3. In het verkenner venster navigeer je naar de map, waar je de back-up wil neerzetten.
  4. Geef in het File name venster de bestandsnaam van jouw keuze aan.
  5. Klik in het verkenner venster op Open.
  6. Het verkenner venster sluit en je gaat terug naar het Win32DiskImager venster.
  7. Klik nu op Read of Lezen bij een Nederlandse versie en het back-up proces gaat van start.
Dit back-up proces gaat enige tijd duren. Je ziet een voortgangsindicatie.
Een correcte backup kun je uitpakken en lezen met 7Zip.

Stap 4 - Back-up terug zetten.

De back-up kun je op je SD-kaart terug zetten op dezelfde manier als waarop je de kaart de eerste keer met het besturingssysteem hebt geladen.
We deden dat met balenaEtcher, maar het kan net zo goed met Win32DiskImager.

Stap 5 - Optioneel: een back-up maken op een USB apparaat.

Bij deze stap gaan we een USB apparaat aansluiten op de Raspberri Pi.
Dat kan een SSD, een harde schijf, maar ook een stick zijn. Keuze te over.

Voordat we dat gaan doen gaan we het volgende commando in een terminal venster ingeven:

						df -h
					

Van dit commando krijgen we een lijst terug, die er als volgt uit kan zien:

						Filesystem      Size  Used Avail Use% Mounted on
						/dev/root        15G  4.0G  9.6G  29% /
						devtmpfs        458M     0  458M   0% /dev
						/dev/mmcblk0p1   41M   21M   21M  52% /boot
					

Daarna sluit je het USB apparaat aan en geeft weer het volgende command in:

						df -h
					

De lijst die we terug krijgen heeft nu een extra regel:

						Filesystem      Size  Used Avail Use% Mounted on
						/dev/root        15G  4.0G  9.6G  29% /
						devtmpfs        458M     0  458M   0% /dev
						/dev/mmcblk0p1   41M   21M   21M  52% /boot
						/dev/sda1       3.7G   75M  3.6G   3% /media/pi/MIJNUSB
					

We hadden het aangesloten USB apparaat de naam MIJNUSB gegeven, om het snel te herkennen en te vinden.
Wat verder belangrijk is, is om te weten waar hij gemount is. Kijk naar Mounted on. We zien dat de drive gemount is op /media/pi/MIJNUSB.

Maak een notitie van deze locatie.

Wetende waar de back-up locatie is, gaan we gerbuik maken van een handig script.
Dit script bevindt zich op github en dat script gaan we clonen naar onze home directory met de volgende commando reeks in een terminal venster.

						cd ~
						git clone https://github.com/lzkelley/bkup_rpimage.git
					

Het script staat nu op je Raspberry Pi, zodat we er gebruik van kunnen maken.
We kunnen nu een eerste back-up maken door de onderstaande opdracht op onze Raspberry Pi uit te voeren.

						sudo sh bkup_rpimage.sh start -c /media/pi/MIJNUSB/rpi_backup.img
					

Let er op dat als je het USB apparaat ander hebt genoemd, de naam dient te worden aangepast.!

Het script creëert een dummy image, dan lanceert het een rsync process dat alle bestanden van het systeem naar het dummy image copieert.

Dit proces kan meer dan een uur duren totdat het klaar is.
Dat komt door de snelheid van de USB poorten op de Raspberry PI.

Stap 6 - De back-up automatiseren

Nu dat we onze eerste back-up hebben gemaakt en weten dat het script werkt, kunnen we overgaan tot hat automatiseren van deze taak.

We moeten daarbij beslissen of we een telkens een complete back-up maken of dat we een incrementele back-up maken.

Voer het volgende commando in een terminal venster in om het crontab bestand aan te passen.

						sudo crontab -e
					

In de crontab editor voer je een van onderstaande regels toe.
Crontab is een scheduler en staat standaard in het image van het Raspberry Pi besturingssysteem.

Incrementele back-up

						0 0 * * * sudo sh /home/pi/bkup_rpimage/bkup_rpimage.sh start -c /media/pi/MIJNUSB/rpi_backup.img
					

Complete back-up

						0 0 * * * sudo sh /home/pi/bkup_rpimage/bkup_rpimage.sh start -c /media/pi/MIJNUSB/rpi_$(date +%Y-%m-%d).img
					

Sluit de editor af met de volgende opdracht reeks: <Ctrl-X> gevolgd door <Y> en dan <Enter>.

Je hebt nu de back-up geautomatiseerd.
De back-up wordt een maal per dag uitgevoerd, om 0:00 uur.
De consequentie van deze laatste methode (de stappen 5 en 6) is dat het USB apparaat continue aangesloten dient te zijn op je Raspberry Pi.

Back to top