Die Datensicherung
Um regelmäßige Sicherungen anzulegen, kannst du dir entweder alle benötigten Dateien & Ordner händisch an einen separaten Ort kopieren.
Oder du erstellst dir ein Script, das alle benötigten Dateien & Ordner zusammensucht und in eine komprimierten Datei packt. Für automatisierte Datensicherungen wird das Script dann bestenfalls noch durch einen Cronjob ausgeführt.
Es ist zu empfehlen die Sicherungsdateien auf einem externen Laufwerk anlegen zu lassen.
Anzeige
Script für Datensicherung
Für das Script legst du dir erstmal eine Datei an:
sudo nano /usr/local/bin/datensicherung.sh
Als Grundlage für dein Script kann das folgende Beispiel dienen:
#!/bin/bash # Verzeichnisse SUBDIR=UNTERVERZEICHNIS DIR=/PFAD/FUER/SICHERUNG/$SUBDIR # Variablen BACKUP_ANZAHL_MAX="60" OFILE="$DIR/dasi_$(date +%d%m%Y_%H%M%S)".tar.gz WICHTIGER_ORDNER1="PFAD/ZUM/WICHTIGEN/ORDNER/1/" WICHTIGER_ORDNER2="PFAD/ZUM/WICHTIGEN/ORDNER/2/" WICHTIGER_ORDNER3="PFAD/ZUM/WICHTIGEN/ORDNER/3/" #... WICHTIGE_DATEI1="PFAD/ZUR/WICHTIGEN/DATEI1" WICHTIGE_DATEI2="PFAD/ZUR/WICHTIGEN/DATEI2" WICHTIGE_DATEI3="PFAD/ZUR/WICHTIGEN/DATEI3" #... ###################################################################################### echo "Starte Datensicherung" # Prüfen, ob Zielordner existiert if [ ! -d "$DIR" ]; then echo "Sicherungs-Verzeichnis $DIR ist nicht vorhanden und wird jetzt angelegt!" mkdir $DIR fi # First sync disks sync; sync # BackUp starten echo "Abhängig von der Speicherkartengröße und der Lesegeschwinidgkeit wird dies etwas Zeit in Anspruch nehmen. Bitte warten..." cd / tar cfzv $OFILE $WICHTIGER_ORDNER1 $WICHTIGER_ORDNER2 $WICHTIGER_ORDNER3 $WICHTIGE_DATEI1 $WICHTIGE_DATEI2 $WICHTIGE_DATEI3 pushd ${DIR}; ls -tr ${DIR}/dasi_* | head -n -${BACKUP_ANZAHL_MAX} | xargs rm; popd echo "Datensicherung erstellt!"
Kopiere das Beispiel in die soeben erstellte Datei. Nimm deine Anpassungen vor und speichere die Datei per STRG + O ab und schließe sie dann per STRG + X.
Das Script muss nun noch mit den passenden Rechten ausführbar gemacht werden:
sudo chmod 755 /usr/local/bin/datensicherung.sh
Starten kannst du das Script nun manuell:
sudo /usr/local/bin/datensicherung.sh
Wie das Script arbeitet
Anhand der vorhandenen Variablen legst du den Hauptordner (DIR) für deine Sicherungen fest (bspw. ein externes Laufwerk) und bestimmst dann das Unterverzeichnis (SUBDIR), in dem die Sicherungen liegen sollen.
Bestimme, wie viele Sicherungen (BACKUP_ANZAHL_MAX) maximal angelegt werden sollen, alle älteren werden dann nach dem erstellen des Sicherungsarchivs gelöscht. Der Dateiname (OFILE) bildet sich aus einem Prefix und dem aktuellen Datum undder Uhrzeit.
Dann gibst du die einzelnen Dateien (WICHTIGE_DATEI1, WICHTIGE_DATEI2, …) & Ordner (WICHTIGER_ORDNER1, WICHTIGER_ORDNER2, …) an, die gesichert werden sollen. Die jeweiligen Variablen für die einzelnen Ordner musst du dann anhand des Beispiels in Zeile 39 nach „tar czf $OFILE…“ ergänzen.
Das Script prüft nun, ob das Unterverzeichnis im Zielordner existiert und legt dieses an, sollte dies nicht der Fall sein.
Nun werden alle anhand der benannten Variablen angegebenen Dateien & Ordner in ein komprimiertes TAR-Archiv im Zielpfad erstellt.
Script automatisieren
Damit du nicht jedes Mal das Script manuell ausführen musst, kannst du einen Cronjob anlegen und diesen automatisiert zu einer bestimmten Uhrzeit, an bestimmten Tagen das Script ausführen lassen.
Um die Konfiguration der Cronjobs aufzurufen, gibst du in der Konsole / im Terminal folgendes ein:
sudo -s crontab -e
Such dir eine freie Zeile, in die du folgendes einfügst:
0 0,12 * * * /usr/local/bin/datensicherung.sh
Diese Zeile bewirkt, dass jeden Tag 00.00 Uhr, sowie 12.00 Uhr das Script zur Datensicherung ausgeführt wird.
Speichere per STRG + O und schließe die Datei dann per STRG + X.
Du hast nun ein Script für regelmäßige Datensicherungen zur Hand, welches du manuell, oder automatisiert ausführen kannst.
Datensicherung entpacken
Um Daten aus erstellten Sicherungen anhand des obigen Scripts wieder herzustellen muss das Sicherungsarchiv lediglich entpackt werden und dann kopierst du dir die benötigten Dateien dort hin, wo sie hin sollen.
Archiv entpacken:
sudo cp /URSPRUNGSPFAD/ARCHIVNAME.ENDUNG /ZIELPFAD/ #kopieren des Archivs an Zielordner
cd /ZIELPFAD/ #in Zielverzeichnis wechseln
tar xfv ARCHIVNAME.ENDUNG #entpacken
Anzeige
Das Backup unter grafischer Oberfläche
Um ein vollständiges BackUp des Raspberrys zu machen, welches im Notfall wieder zurückgespielt werden kann, setze ich nicht mehr auf ein entsprechendes Script, da dieses auch den ungenutzten Platz sichert und je nach Speicherkarten- / SSD-Größe für enormen Speicherplatzbedarf sorgt, vor allem aber sehr viel Zeit in Anspruch nehmen kann und dadurch die zur Verfügung stehende Leistung einschränkt.
Die aktuellen Versionen von Raspberry Pi OS bringen die Desktopanwendung „SD Card Copier“ mit. Zu finden über das Startmenü >> Zubehör.
Man wählt die aktiv genutzte SD-Karte / SSD als Quelle aus und gibt sie Ziel-SD / -SSD an. Wichtig ist das Setzen des Hakens „New Partition UUIDs„.
Auf „Start“ klicken und der Kopiervorgang wird ausgeführt.
Der Vorteil des SD Card Copiers ist, dass er nur den genutzten Speicher kopiert. So kann ich den tatsächlich genutzten Platz auf meiner 480 GB SSD auch auf eine kleinere SD-Karte / SSD kopieren. Das zurückspielen ist problemlos möglich.
Dafür muss jedoch von der BackUp-SD / -SSD gebootet werden, damit diese über den SD Card Copier als Quelle dienen kann. Ich bevorzuge in meiner Konfiguration mit verbauter SSD daher die Verwendung einer SD-Karte, da der SD-Slot ja eh frei ist. Sollte ich die 480 GB meiner SSD irgendwann ausreizen, besorge ich mir eine SD-Karte in entsprechender Größe.
Anzeige