SD-Card Backup vom Raspberry im Livebetrieb
Das Worst Case Szenario – eine defekte SD-Card…
SD-Card Backup Raspberry: Was wäre schlimmer, ein in mühevoller Zeitarbeit erstelltes Linuxsytem auf dem Raspberry Pi durch einen Defekt der SD Card zu verlieren. Daher sollte man in gewissen Zeitabständen die komplette Speicherkarte sichern. Der normale Vorgang (so macht man das auch in der Regel), wäre das System herunterzufahren, Stromkabel ziehen um die SD-Card zu entnehmen. Anschließend mit dem USB Image Tool oder Win32DiskImager die SD-Card
sichern. Auf Dauer immer etwas lästig, da ja schnell mal weiteres am Raspberry-System eingerichtet oder installiert wird.
Welche Möglichkeiten gibt es für ein SD-Card Backup?
So kann man z.B. mit einem Backup-Script im „Livebetrieb“ mit dd
die komplette SD-Card sichern. Voraussetzung hierfür ist im Idealfall das Booten von der SD-Card. Beim Raspberry Pi1, Pi2 oder Pi3 z.B. gibt es ja noch andere Bootmethoden.
Modell | Preis | |||
---|---|---|---|---|
1 | Raspberry Pi – (Model B+ Mainboard (GPIO, MicroSD-Slot, HDMI, 4X USB 2.0) – Minicomputer | 47,03 € inkl. 19% gesetzlicher MwSt. | Details Ansehen* |
Welches Linux-Script nutzt man für ein Backup im Livebetrieb?
Um das Ganze nun zu realisieren, nutze man im Beispiel das Bash-Script raspiBackup von hier:
https://www.linux-tips-and-tricks.de/de/raspibackup/
Vielen Dank in diesem Zusammenhang an framp
für das Script und die ausführlichen Anleitungen.
Voraussetzung für das DD-Backup ist, dass das Raspian System komplett von der SD-Card bootet. Um per Console (SSH) Zugriff zum Raspberry Pi zu haben, nutzt man in der Regel Putty. Es reicht dafür der Benutzer pi
, Root-Zugriff ist für das Backup nicht notwendig.
Im Beispiel soll das DD-Backup auf ein gemountetes NAS (Netzwerkspeicher) gesichert werden. Natürlich kann auch ein angeschlossener USB-Stick verwendet werden. Dieser USB-Stick sollte natürlich auch vorher ordnungsgemäß gemountet (eingehangen) sein.
Ist alles fehlerfrei erledigt, geht es mit dem nächsten Schritt weiter. Prüfen kann man das von der Console aus auf dem Raspberry Pi mit:
showmount -e 192.168.178.24
IP-Adresse vom NAS (192.168.178.24) – dort sollte z.B. gelistet werden:
root@Raspberry-Server:~# showmount -e 192.168.178.24
Export list for 192.168.178.24:
/mnt/HD/HD_a2/NI/raspiserver-backup *
root@Raspberry-Server:~#
Lese die Installationsabschnitte von links nach rechts 😉
3. Mountpoint auf dem Raspberry Pi erstellen:
sudo mkdir -p /backups
4. Für den Mountpoint Schreibrechte setzen:
sudo chmod 0777 /backups
Für den Test zur Anleitung wurden volle Schreibrechte mit 0777 gesetzt, 0755
sollte allerdings auch reichen.
5. Mountfreigaben definieren mit fstab:
sudo nano /etc/fstab
6. fstab mit u.a. Mount-Eintrag ergänzen und speichern:
Tastenkombination STRG+O
speichern / STRG+X
verlassen 😉
192.168.178.24:/mnt/HD/HD_a2/NI/raspiserver-backup /backups nfs rw,auto,hard,relatime 0 0
kurze Erklärung zum Mounteintrag in der fstab:
192.168.178.24:/mnt/HD/HD_a2/NI/raspiserver-backup (Netzwerkfreigabe NAS, IP 192.168.178.24)
/backups nfs rw,auto,hard,relatime 0 0 (Mountpoint Raspberry Pi, rw=lesen/schreiben)
Modell | Preis | |||
---|---|---|---|---|
1 | Raspberry Pi 4 – (Modell B, 2 GB, ARM-Cortex, 4 x USB, 2 x Micro-HDMI) – Minicomputer | ab 55,00 € inkl. 19% gesetzlicher MwSt. | Details Ansehen* | |
2 | Raspberry Pi 4 – (Modell B+, 4 GB, ARM-Cortex 1,50 GHz, 4 GB RAM, 4 x USB, 2 x Micro-HDMI) – Minicomputer | ab 69,00 € inkl. 19% gesetzlicher MwSt. | Details Ansehen* |
NAS
) und den Clienten (Raspberry Pi
) rebooten. Bei dem NAS reicht eigentlich auch den NFS-Server neu zu starten. Dies erledigt man in der Regel im WebIF vom Netzwerkspeicher.
SD-Card Backup Raspberry – schnelle Sicherungsmethode mit dd
Mount prüfen mit: df -h
192.168.178.24:/mnt/HD/HD_a2/NI/raspiserver-backup /backups nfs rw,auto,hard,relatime 0 0
Zusätzlich kann man noch auf der Console mit mount -l
kontrollieren:
192.168.178.24:/mnt/HD/HD_a2/NI/raspiserver-backup on /backups type nfs (rw, relatime, vers=3, rsize=16384, wsize=16384,namlen=255, hard, proto=tcp, timeo=600, retrans=2, sec=sys, mountaddr=192.168.178.24, mountvers=3, mountport=35220, mountproto=udp,local_lock=none, addr=192.168.178.24)
/backups
diese Datei wiederfinden. Umgekehrt ebenso. Löscht ihr diese in /backups
, verschwindet die Datei auf dem NAS.
Weiter geht es mit dem Backup… (SD-Card Backup Raspberry)
curl -s -L -O https://www.linux-tips-and-tricks.de/raspiBackupInstall.sh && sudo bash raspiBackupInstall.sh -c -l DE
Update 2022
curl -L https://raspibackup.linux-tips-and-tricks.de/install | sudo bash
Das Script raspiBackup.sh wird nach
usr/local/bin
installiert, zusätzlich eine raspiBackup.conf nachusr/local/etc
. Diese Datei muss noch entsprechend angepasst werden. Eine bereits von mir eingerichtete.conf
ist hier schon beigefügt und kann verwendet werden. Diese Conf-Datei dann nach individueller Anpassung nachusr/local/etc
kopieren. Die Datei ist mit entsprechenden Kommentaren vermerkt.Download: raspiBackup-Script
Modell | Preis | |||
---|---|---|---|---|
1 | Synology DS218j – 20TB (2x 10TB WD RED) 2 Bay – NAS | 979,00 € inkl. 19% gesetzlicher MwSt. | Details Ansehen* |
9. Aufruf (Backup starten) ohne Crontab:
sudo /usr/local/bin/raspiBackup.sh -a ":" -o ":" /backups
10. Zusätzliche Einstellungen und raspiBackup.conf anpassen:
Download: raspiBackup.conf
Werte in der raspiBackup.conf
anpassen:
# Pfad wo das Backupfile gespeichert wird (hier ist der Mountpoint vom Raspi gemeint)
DEFAULT_BACKUPPATH=“/backups“
# Anzahl der zu vorhaltenden Backups
DEFAULT_KEEPBACKUPS=“3″
# Typ des Backups: dd, tar, xbmc or rsync
DEFAULT_BACKUPTYPE=“dd“
# zip tar oder dd backup (0 = nein, 1 = ja)
DEFAULT_ZIP_BACKUP=“0″
# Durch & getrennte Befehle, die vor dem Starten des Backups auszuführen sind
DEFAULT_STOPSERVICES=““
# Durch & getrennte Befehle, die nach dem Starten des Backups auszuführen sind
DEFAULT_STARTSERVICES=““
# emailadresse die das Backupergebnis erhält
DEFAULT_EMAIL=“deine@domain.de“
# Weitere Parameter für das eMail programm (Optional -E)
DEFAULT_EMAIL_PARMS=“-f absender@smart-mail.de -s smtp.smart-mail.de:587 -o tls=no -xu smtpusername -xp passwort -m Von der SD Card (Raspberry) wurde im Livebetrieb erfolgreich ein Image erstellt.“
# Log level (0 = keiner, 1 = debug)
DEFAULT_LOG_LEVEL=0
# log Ausgabe ( 0 = /var/log/syslog, 1 = /var/log/raspiBackup/
DEFAULT_LOG_OUTPUT=2
# Message level (0 = minimal, 1 = detailed)
DEFAULT_MSG_LEVEL=“1″
# mailprogram
DEFAULT_MAIL_PROGRAM=“sendEmail“
sendEmail
. Trage dort deine Werte ein. Zusätzlich müssen weitere Parameter unter „DEFAULT_EMAIL_PARMS=““ “ ergänzt werden. Einen Email-Provider ohne TLS Verschlüsselung ist am besten, hier im Beispiel smart-mail
(Konsolenhilfe -> sendEmail –help).
Backup Scriptvorgang automatisieren mit raspiBackupWrapper
hier
laden und nach usr/local/bin
kopieren (Rechte auf 0755
setzen).
82
und 97
könnt ihr eure laufenden Dienste über das Script automatisch stoppen und nach dem Backupvorgang wieder starten. Bei mir laufen apache2, mysql und samba nicht, daher habe ich das auskommentiert. Passt die Datei einfach euren Wünschen an. 😉
11. Cronjob einrichten:
sudo crontab -e
12. Cronjob für z.B. jeden Sonntag 03:00 Uhr
00 03 * * 0 /usr/local/bin/raspiBackupWrapper.sh > /dev/null 2>&1
13. Testlauf ohne Erstellung eines Backups:
raspiBackup.sh -a ":" -o ":" -F
14. Nach Testlauf finden wir folgende Meldung in Console:
Consolen-Ausgabe siehe unten
root@Raspberry-Server:~# raspiBackup.sh -a „:“ -o „:“ -F
— RBK0009I: Raspberry-Server: raspiBackup.sh V0.6.1.3b um Sa 11. Mär 10:56:55 CET 2017 gestartet
— RBK0128I: Logdatei ist /backups/Raspberry-Server/Raspberry-Server-dd-backup-20170311-105655/Raspberry-Server-backup.log
— RBK0116I: Konfigurationsdatei /usr/local/etc/raspiBackup.conf wird benutzt
!!! RBK0124W: Simulationsmodus an
— RBK0008I: Services werden gestoppt: ‚:‘
— RBK0081I: Backup vom Typ dd wird in /backups/Raspberry-Server/Raspberry-Server-dd-backup-20170311-105655 erstellt
— RBK0085I: Backuperstellung vom Typ dd läuft. Bitte etwas Geduld
— RBK0007I: Services werden gestartet: ‚:‘
— RBK0010I: Raspberry-Server: raspiBackup.sh V0.6.1.3b um Sa 11. Mär 10:56:58 CET 2017 beendet
— RBK0017I: Backup erfolgreich beendet
Mar 11 10:57:00 raspberry-server sendEmail[10320]: Email was sent successfully!
root@Raspberry-Server:~#
Modell | Preis | |||
---|---|---|---|---|
1 | ODROID C2 – (1,5 GHz QuadCore, 2 GB RAM, 4x USB Odroid) – Minicomputer | 58,06 € inkl. 19% gesetzlicher MwSt. | Details Ansehen* |
dd
Durch den gesetzten Cronjob wird nun
jeden Sonntag gegen 03:00 Uhr
ein Backup erstellt und auf den Netzwerkspeicher gespeichert. Nach Erstellung erhälst du eine Email über das Ergebnis. Solltest du nun manuell ein Backup erstellen wollen, so über die Console ausführen mit:raspiBackupWrapper.sh
Der Backupvorgang dauert in etwa 10-15 Minuten. Ob das SD-Card Backup
fehlerfrei ist, könnt ihr einfach testen. Das gesicherte Image
auf eine andere SD-Card schreiben (Win32Diskmanager) und in den Raspberry Pi einlegen. Bei meinen eigenen Tests hat dies nun mehrmals reibungslos funktioniert. Es kommt immer darauf an, wieviele Service-Dienste laufen. Diese sollten eben wie oben beschrieben vorher gestoppt werden. 🙂
SD-Card Backup Raspberry mit Sicherheit für deine Speicherkarte
20170311-083303: MSG — RBK0009I: Raspberry-Server: raspiBackup.sh V0.6.1.3b um Sa 11. Mär 08:33:03 CET 2017 gestartet
20170311-083303: MSG — RBK0128I: Logdatei ist /backups/Raspberry-Server/Raspberry-Server-dd-backup-20170311-083302/Raspberry-Server-backup.log
20170311-083303: MSG — RBK0116I: Konfigurationsdatei /usr/local/etc/raspiBackup.conf wird benutzt
20170311-083303: MSG — RBK0008I: Services werden gestoppt: ‚:‘
20170311-083303: MSG — RBK0081I: Backup vom Typ dd wird in /backups/Raspberry-Server/Raspberry-Server-dd-backup-20170311-083302 erstellt
20170311-083304: MSG — RBK0085I: Backuperstellung vom Typ dd läuft. Bitte etwas Geduld
7969+1 Datensätze ein
7969+1 Datensätze aus
7969177600 Bytes (8,0 GB) kopiert, 940,538 s, 8,5 MB/s
20170311-084847: MSG — RBK0007I: Services werden gestartet: ‚:‘
20170311-084848: MSG — RBK0010I: Raspberry-Server: raspiBackup.sh V0.6.1.3b um Sa 11. Mär 08:48:48 CET 2017 beendet
20170311-084848: MSG — RBK0017I: Backup erfolgreich beendet
Mar 11 08:48:50 raspberry-server sendEmail[19149]: Email was sent successfully!
SD-Card Backup Raspberry erstellt und dann nutzbar dafür ist Win32DiskImager. Damit schreibt man das erstellte Image einfach wieder auf eine zweite oder andere
SD-Card
. Vollständige Anleitung zum raspiBackup-Script gibt es übrigens auch hier. Hoffe, alles klappt beim Backup mit DD
im Livebetrieb. 🙂
Modell | Preis | |||
---|---|---|---|---|
1 | Raspberry Pi – (Model B+ Mainboard (GPIO, MicroSD-Slot, HDMI, 4X USB 2.0) – Minicomputer | 47,03 € inkl. 19% gesetzlicher MwSt. | Details Ansehen* |
Hier kannst du den Beitrag bewerten
Hits von
SD-Card Backup vom Raspberry im Livebetrieb
Diese Seite wurde bisher 2.024
mal gelesen