Getty Images/iStockphoto

Backup und Restore: So nutzen Sie tar für Dateien in Linux

Erfahren Sie hier, wie Sie das Linux-tar-Dienstprogramms am besten nutzen. Wir erklären einige Befehle für das Erstellen von Dateien sowie für deren Sicherung und Wiederherstellung.

Das Bandarchivierungsprogramm kommt oft in Linux-Umgebungen zum Einsatz. Es wird als tar bezeichnet und ist nützlich, um Dateien schnell und einfach zu sichern und wiederherzustellen.

Der Befehl tar ist für mehrere Zwecke nützlich. Dazu gehören die folgenden:

  • Standard-Dateisicherung.
  • Standard-Wiederherstellung von Dateien.
  • Bündelung von Dateien für die Übertragung über ein Netzwerk.
  • Bündelung von Dateien zum leichteren Herunterladen für Anwender.

Typischerweise beziehen sich Linux-Nutzer auf die letzten beiden: gebündelte Dateien, die auch als Archive komprimiert werden können. Tar arbeitet mit zwei sich ergänzenden Funktionen: dem Erstellen von Archiven und dem Extrahieren von Dateien. Das Erstellen von Archiven oder Tarballs umfasst das Kopieren von Dateien in eine Gruppe als Backup oder zur Übertragung. Beim Entpacken werden Dateien aus einer Gruppe in ein Verzeichnis kopiert. Es kann hilfreich sein, sich das Erstellen von Tarballs als die Sicherungsfunktion und das Extrahieren von Dateien als die Wiederherstellungsfunktion vorzustellen.

Anwender können tar mit verschiedenen Komprimierungsprogrammen kombinieren, um die Verwaltung von Tarballs zu vereinfachen.

Dateien erstellen

Stellen Sie zunächst sicher, dass tar auf Ihrem Linux-System installiert ist. Das ist höchst wahrscheinlich der Fall, aber es lohnt sich, das zu überprüfen.

Öffnen Sie eine Terminal-Konsole auf Ihrem Linux-Computer, unabhängig von der Distribution. Geben Sie den folgenden Befehl ein.

$ which tar

Sie sollten eine Ausgabe sehen, die anzeigt, dass tar auf dem System vorhanden ist. Die Ausgabe lautet auf den meisten Systemen /usr/bin/tar.

Falls erforderlich, verwenden Sie den Paketmanager Ihrer Distribution, um tar zu installieren.

Unter Red Hat und ähnlichen Distributionen geben Sie dafür Folgendes ein.

$ sudo dnf install tar

Unter Debian und ähnlichen Distributionen geben Sie Folgendes ein.

$ sudo apt install tar

Führen Sie als nächstes die folgenden Befehle aus, um einige Ressourcen zu erstellen, mit denen Sie arbeiten können.

$ cd ~
                                $ mkdir projects
                                $ cd projects/
                                $ touch file1.txt file2.txt file3.txt
                                $ echo "File 1 Contents" > file1.txt
Abbildung 1: Hiermit erstellen Sie einige Files mit tar, mit denen Sie arbeiten können.
Abbildung 1: Hiermit erstellen Sie einige Files mit tar, mit denen Sie arbeiten können.

Sie haben nun ein Verzeichnis namens projects im Home-Verzeichnis erstellt und es mit drei Textdateien gefüllt. In diesem Beispiel stellen diese Ressourcen Benutzerdaten dar, die Sie auf dem System sichern müssen.

Sichern und archivieren Sie Ihre Dateien mit tar

Um tar zu verwenden, erstellen Sie ein Archiv und kopieren Sie die drei Textdateien in dieses Archiv.

Hier sind die relevanten tar-Optionen zum Erstellen eines Archivs.

Option Beschreibung
-c Erzeugt das Dateiarchiv. Dies ist sozusagen der Backup-Befehl.
-v Gibt die Ausgabe zurück, wenn der tar-Befehl beendet ist. Dies ist nicht notwendig, aber es kann nützlich sein, um zu sehen, welche Dateien der Befehl in das Archiv kopiert hat.
-f Gibt an, dass das nächste Objekt im Befehl das Archiv ist. Erforderlich.
-r Hängt weitere Dateien an ein bestehendes Archiv an.

Vergewissern Sie sich, dass Sie sich im Projektverzeichnis befinden, und geben Sie dann den folgenden Befehl ein, um ein Archiv mit dem Namen backup.tar zu erstellen.

$ tar -cvf backup.tar *.txt
Abbildung 2: So erstellen sie ein tar-Archiv.
Abbildung 2: So erstellen sie ein tar-Archiv.

Der obige Befehl erstellt das Archiv backup.tar, kopiert alle Dateien mit der Erweiterung .txt und zeigt die Namen der kopierten Dateien an. Der Befehl hätte auch ohne die Option -v funktioniert.

Die Option -r fügt Dateien zu einem bestehenden Archiv hinzu. Wenn Sie zum Beispiel ein Archiv mit drei Dateien erstellt haben und dann feststellen, dass Sie eine vierte Datei vergessen haben, können Sie die vierte Datei mit der Option -r hinzufügen.

$ touch file4.txt
$ tar -rf backup.tar file4.txt

In manchen Fällen müssen Sie bestimmte Dateien von der Aufnahme in das Archiv ausschließen. Die Option --exclude {filename} veranlasst tar, die angegebene Datei zu vermeiden.

In diesem Stadium eines typischen Backups könnten Sie diese Dateien auf einen anderen Datenträger oder in eine Cloudkopieren, um sie vor Beschädigung, Löschung oder zusätzlichen Änderungen zu schützen. Für diese Übung nehmen wir an, dass Sie die Dateien auf Ihre bevorzugtes sekundäres Speichersystem kopiert haben.

Simulieren Sie einen Datenverlust

Sie haben nun ein Backup Ihrer Textdateien. Führen Sie vorsichtig den folgenden Befehl im Projektverzeichnis aus.

$ rm -f *.txt
Abbildung 3: Das Simulieren einer versehentlichen Dateilöschung.
Abbildung 3: Das Simulieren einer versehentlichen Dateilöschung.

Stellen Sie sich vor, Sie hätten die drei Textdateien versehentlich gelöscht. Verwenden Sie den Befehl ls, um festzustellen, dass die Dateien verschwunden sind.

Da Sie den Befehl tar verwendet haben, haben Sie eine Sicherungskopie der Dateien und können sie wiederherstellen. Nehmen wir an, dass Sie das Archiv backup.tar von Ihrem sekundären Speicherort kopiert haben und bereit sind, Ihre Textdateien daraus zu extrahieren.

Wiederherstellen Ihrer Dateien mit tar

Das Wiederherstellen von Dateien mit tar ist einfach zu bewerkstelligen. Der Prozess kopiert die Dateien aus dem Archiv an den Zielspeicherort. Beim Extrahieren der Dateien wird das Archiv nicht zerstört; es handelt sich um einen Kopiervorgang.

Lassen Sie sich zunächst den Inhalt des Archivs backup.tarball anzeigen. Verwenden Sie dazu die Option -t, wie unten dargestellt.

$ tar -tf backup.tar
Abbildung 4: Den Inhalt des tar-Archivs anzeigen.
Abbildung 4: Den Inhalt des tar-Archivs anzeigen.

Die Anzeige des Archivinhalts ist nützlich, wenn Sie mehrere Sicherungen haben und nicht sicher sind, welches Archiv die Dateien enthält, die Sie wiederherstellen möchten.

Sobald Sie sicher sind, dass Sie das richtige Archiv haben, können Sie die Dateien wiederherstellen. Hier sind die beiden wichtigsten Optionen für diese Aufgabe.

Option Beschreibung
-x Extrahiert die Dateien aus dem Archiv in das aktuelle Verzeichnis.
-f Gibt an, dass das nächste Objekt im Befehl das Archiv ist. Erforderlich.

Sie können die Option -v erneut verwenden, um die entpackten Dateien anzuzeigen.

Um alle Dateien aus dem Tarball wiederherzustellen, geben Sie Folgendes ein.

$ tar -xf backup.tar
Abbildung 5: Extrahieren Sie alle Files aus dem tar-Archiv.
Abbildung 5: Extrahieren Sie alle Files aus dem tar-Archiv.

Verwenden Sie den Befehl ls, um den Inhalt des Verzeichnisses anzuzeigen. Sie sollten die drei Textdateien sehen, die Sie wie in Abbildung 5 gezeigt archiviert haben. Geben Sie cat file1.txt ein, um zu bestätigen, dass der Inhalt der Datei vorhanden ist.

Wiederherstellen einer einzelnen Datei

Wenn Sie nur eine Datei wiederherstellen wollen, geben Sie einfach den Dateinamen im Befehl an.

Um beispielsweise nur die erste Textdatei wiederherzustellen, geben Sie Folgendes ein.

$ tar -xf backup.tar file1.txt
Abbildung 6: Dateien lassen sich auch einzeln extrahieren.
Abbildung 6: Dateien lassen sich auch einzeln extrahieren.

Verwenden Sie erneut den Befehl ls und stellen Sie fest, dass die Datei backup.tar noch vorhanden ist. Der Extraktionsprozess hat die Textdateien aus dem Archiv kopiert. Das Archiv bleibt eine gültige Sicherungsquelle.

Komprimierung mit tar verwenden

Wenn Sie nur mit einigen wenigen Dateien arbeiten, ist eine Komprimierung nicht notwendig. Bei größeren Backup-Aufträgen können Sie die Dateien komprimieren, indem Sie die Option -z hinzufügen, um GNU Zip beziehungsweise gzipzu verwenden.

Um das Archiv zu erstellen und die Dateien zu komprimieren, geben Sie zum Beispiel folgenden Befehl ein.

$ tar -cvzf tarball.tar.gz *.txt
Abbildung 7: So komprimieren Sie das Archiv.
Abbildung 7: So komprimieren Sie das Archiv.

Die meisten Administratoren hängen bei der Verwendung von gzip die Dateierweiterung .gz an den Archivnamen an.

Beachten Sie die Größenunterschiede zwischen den komprimierten und unkomprimierten Archiven im folgenden Screenshot.

Abbildung 8: Veranschaulichung des Größenunterschieds zwischen einem komprimierten und einem unkomprimierten Archiv.
Abbildung 8: Veranschaulichung des Größenunterschieds zwischen einem komprimierten und einem unkomprimierten Archiv.

Verwenden Sie dieselbe Option -z wie bei extract, um das Archiv während des Wiederherstellungsprozesses zu dekomprimieren.

$ tar -xzf tarball.tar.gz

Tar-Archive, ob als Backup-Aufträge oder Dateibündel, ermöglichen Linux-Benutzern effizientere Dateiübertragungen. Um tar optimal nutzen zu können, sollten Sie die oben beschriebene Situation ein paar Mal üben, um sicherzustellen, dass Sie die Testdateien sichern und wiederherstellen können, bevor Sie es für Ihre eigenen Daten verwenden.

Versuchen Sie, Ihr Home-Verzeichnis mit verschiedenen Komprimierungs-Tools zu sichern, um zu sehen, welches am effizientesten ist. Sie unterscheiden sich oft nach Dateityp, zum Beispiel Bilder oder Textdateien. Vergessen Sie nicht, die Linux-Handbuchseite (manpage) zu benutzen, um sich über viele weitere leistungsstarke tar-Optionen zu informieren.

Endanwender und Systemadministratoren können auch von der Skripterstellung von tar profitieren. Erstellen Sie ein einfaches Bash-Skript, das Ihr Home-Verzeichnis sichert und es an einen anderen Ort kopiert. Vergessen Sie nicht, cronoder systemd-Timer zu verwenden, um Sicherungsaufträge zu planen. Viele Linux-Nutzer finden, dass sich Geräte wie Raspberry-Pi-Computer hervorragend als Dateiserver zum Speichern von Backup-Aufträgen eignen.

Erfahren Sie mehr über Backup-Lösungen und Tools

ComputerWeekly.de
Close