Aus Raspberry Pi Geek 04/2019

Daten und Partitionen effektiv sichern (Seite 2)

Der Parameter -j sorgt für eine Komprimierung des Archivs mit Bzip2. Tar kann unterschiedliche Kompressionsformate verwenden, Bzip2 ermöglicht dabei die stärkste Komprimierung. Entsprechende Archivdateien tragen üblicherweise die Endung .tar.bz2. Ein weiteres beliebtes Kompressionsformat ist Gzip (.tar.gz), das Sie mit der Option -z einsetzen. Im Unix-Jargon nennt man mit Tar erzeugte Archivdateien liebevoll Tarballs. Den Namen des zu bearbeitenden Tarballs übergeben Sie dem Programm mit der Option -f (file).

Wie Sie im Beispiel sehen, müssen Sie die zu verwendenden Optionen nicht einzeln ausschreiben (-c -v -p -j -f), sondern dürfen Sie platzsparend zusammenfassen. In Zeile 2 tragen Sie die Datenquelle für die Sicherung ein. Wie bereits erwähnt, ermöglicht es Tar, einzelne Dateien (Zeile 3) oder auch komplette Ordner (Zeile 4) aus dem Backup auszuschließen; dabei dürfen Sie mehrere Ausschlussanweisungen angeben.

Sie speichern das Skript aus Listing 2 in eine beliebige Datei, etwa do_backup, die Sie danach mit dem Befehl chmod u+x do_backup ausführbar machen. Die Option u+x verleiht dem Benutzer der Datei Ausführungsrechte [5]. Die entsprechende Einstellung überprüfen Sie gegebenenfalls mit dem Befehl ls -l: Taucht in der Ausgabe links bei der Benutzerkategorie ein x für “execute” auf, hat die Einstellung funktioniert. Anschließend können Sie das Skript mit dem Kommando ./do_backup direkt aufrufen, um die Datensicherung zu testen.

Um später das komplette Backup wieder zu entpacken, verwenden Sie das Kommando tar -xvf Tarball. Alternativ entpacken Sie aber auch einzelne Dateien oder Verzeichnisse oder nur Dateien eines bestimmten Namens oder Dateityps. Beispiele für die entsprechenden Aufrufe finden Sie in der Tabelle “Tarball entpacken”.

Aufruf

Funktion

tar -xvf Tarball

kompletten Tarball entpacken

tar -xvf Tarball /Pfad/Datei

einzelne Datei aus dem Tarball entpacken

-xvf Tarball --wildcards Muster

extrahiert alle Dateien aus dem Tarball, die zum Muster passen

Backup 3.0

Soll das Backup etwas komfortabler ausfallen, greifen Sie zu Backup-Manager [6], den Sie unter Raspbian bequem per Paketverwaltung installieren (Listing 3). Dabei handelt es sich um ein vollständiges Backup-Programm für die Kommandozeile, das sich sehr einfach konfigurieren lässt. Es ermöglicht ein inkrementelles Backup und stellt mehrere Kompressionsformate zur Auswahl. Zudem kann es MySQL-Dumps sowie SVN-Repositories sichern.

Listing 3

$ sudo apt-get install backup-manager

Die Konfigurationsdaten des Tools finden Sie in der Datei /etc/backup-manager.conf, die schon in der Voreinstellung einen sinnvollen Einsatz ermöglicht. Sie können also nach der Installation durch Aufruf des Befehls backup-manager direkt eine erste Sicherungskopie erstellen. Standardmäßig legt Backup-Manager die Archive im Verzeichnis /var/archives/ ab (Abbildung 1).

Abbildung 1: Unter Htop lässt sich erkennen, dass Backup-Manager gerade mithilfe des Befehls Tar eine Sicherungskopie erstellt.

Abbildung 1: Unter Htop lässt sich erkennen, dass Backup-Manager gerade mithilfe des Befehls Tar eine Sicherungskopie erstellt.

Sie sollten allerdings die Konfigurationsdatei mit Administratorrechten anpassen, damit Backup-Manager alle gewünschten Dateien und Ordner sichert. Als Hilfestellung zur Konfiguration fasst die Tabelle “Backup-Manager einrichten” die wichtigsten Optionen zusammen.

Option

Beispiel

Funktion

BM_REPOSITORY_ROOT

/home/pi/archives

legt den Archivordner fest

BM_ARCHIVE_METHOD

tarball-incremental mysql svn

Archivmethode

BM_ARCHIVE_TTL

3

Zahl der Archive, die Backup-Manager lokal speichert

BM_TARBALL_DIRECTORIES

/etc /home

zu sichernde Ordner, durch Leerzeichen voneinander getrennt

BM_TARBALL_BLACKLIST

/var/archives /home/notbackup

auszulassende Ordner, durch Leerzeichen voneinander getrennt

BM_UPLOAD_METHOD

“ftp”

Methode für das Übertragen der Backups

BM_UPLOAD_FTP_USER

sd-000

FTP-User

BM_UPLOAD_FTP_PASSWORD

mYp4SsW0rd

Passwort des FTP-Users

BM_UPLOAD_FTP_HOSTS

dedibackup.dedibox.fr

FTP-Server

BM_UPLOAD_FTP_PASSIVE

true

passiven Transfer-Modus für FTP aktivieren

BM_UPLOAD_FTP_PURGE

true

Zielverzeichnisinhalt vor dem Übertragen löschen

BM_UPLOAD_FTP_DESTINATION

/

Zielordner auf dem FTP-Server

BM_MYSQL_DATABASES

mysql

Name der MySQL-Datenbank

BM_MYSQL_ADMINLOGIN

root

User der MySQL-Datenbank

BM_MYSQL_ADMINPASS

GEh31m

MySQL-Passwort des Users

BM_MYSQL_HOST

localhost

MySQL-Servername

BM_MYSQL_PORT

3306

Port, auf dem der MySQL-Server lauscht

BM_MYSQL_FILETYPE

gzip

Kompressionsformat für die MySQL-Datenbank (gzip oder bzip2)

BM_SVN_REPOSITORIES

absoluter Pfad zum SVN-Repository

BM_SVN_COMPRESSWITH

gzip

Kompressionsformat für das SVN-Repository (gzip oder bzip2)

BM_PRE_BACKUP_COMMAND

angegebenes Skript ausführen, bevor das Backup startet

BM_POST_BACKUP_COMMAND

angegebenes Skript nach der letzten Aktion von Backup-Manager ausführen

Automatisierung mit Hcron

Erst das Verwenden eines sogenannten Schedulers ermöglicht regelmäßige, automatische Backups. Dazu eignen sich vor allem Shell-Skripte, wie wir sie in den obigen Beispielen gezeigt haben, die der Scheduler zu einem bestimmten Zeitpunkt ausführt.

Als Scheduler kommt Hcron [7] zum Einsatz. Er setzt bei der Konfiguration auf Schlüssel-Wert-Paare, sodass Sie anders als beim altbekannten Linux-Standardtool Cron [8] nicht wissen müssen, an welcher Stelle der Aufrufsyntax Sie die Minuten, Stunden, Tage und so weiter eintragen müssen. Die einzelnen Aufgaben – bei Cron heißen sie sinnigerweise Cron-Jobs – bezeichnet man bei Hcron als Events. Sie lassen sich in gesonderten Dateien abspeichern, was wesentlich übersichtlicher ausfällt als bei Cron, der alle Jobs in einer einzigen Datei auflistet.

Zwar findet sich Hcron nicht in den Raspbian-Paketquellen, der Scheduler lässt sich aber dennoch leicht installieren. Zunächst laden Sie das Programm als DEB-Paket herunter [9] und installieren es mit dem Kommando aus der ersten Zeile von Listing 4. Anschließend prüfen Sie via Systemctl, ob Hcron bereits läuft (zweite Zeile).

Listing 4

$ sudo dpkg -i hcron_Version_all.deb
$ systemctl status hcron
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben