OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

Obwohl Linux eines der sichersten Betriebssysteme überhaupt ist und selbst wenn es darauf ausgelegt ist, weiterzumachen, können Daten verloren gehen. Datenverlust ist meist die Folge von Benutzerfehlern, gelegentlich ist aber auch ein Systemfehler wie ein Strom- oder Festplattenausfall die Ursache. Deshalb ist es immer eine gute Idee, eine zusätzliche Kopie sensibler und/oder wichtiger Daten aufzubewahren.


Image

9.1.1. Aufbereitung Ihrer Daten


9.1.1.1. Archivieren mit tar


In den meisten Fällen sammeln wir zunächst alle zu sichernden Daten in einer einzigen Archivdatei, die wir später komprimieren. Der Archivierungsprozess umfasst die Verkettung aller aufgelisteten Dateien und das Entfernen unnötiger Leerzeichen. Unter Linux geschieht dies üblicherweise mit Teer Befehl. Teer wurde ursprünglich für die Archivierung von Daten auf Bändern entwickelt, kann aber auch Archive, sogenannte Archive, erstellen Tarballs.


tar hat viele Optionen, die wichtigsten sind unten aufgeführt:


-v: ausführlich

-t: Test, zeigt den Inhalt eines Tarballs

-x: Archiv extrahieren

-c: Archiv erstellen

-f Archivgerät: Archivgerät als Quelle/Ziel für den Tarball verwenden, das Gerät ist standardmäßig das erste Bandgerät (normalerweise /dev/st0 oder etwas Ähnliches)

-j: Durchfiltern bzip2, siehe Abschnitt 9.1.1.2


Es ist üblich, das Bindestrich-Präfix wegzulassen Teer Optionen, wie Sie anhand der folgenden Beispiele sehen können.


ImageVerwenden Sie aus Kompatibilitätsgründen GNU tar

Die Archive wurden mit einem proprietären Verfahren erstellt Teer Version auf einem System ist möglicherweise nicht kompatibel mit Teer auf einem anderen proprietären System. Dies kann zu erheblichen Problemen führen, beispielsweise wenn das Archiv wiederhergestellt werden muss


auf einem System, das nicht mehr existiert. Verwenden Sie das GNU Teer Version auf allen Systemen installieren, um zu verhindern, dass Ihr Systemadministrator in Tränen ausbricht. Linux verwendet immer GNU tar. Wenn Sie auf anderen UNIX-Maschinen arbeiten, geben Sie ein Teer --help um herauszufinden, welche Version Sie verwenden. Wenden Sie sich an Ihren Systemadministrator, wenn Sie das Wort GNU nicht irgendwo sehen.

Im folgenden Beispiel wird ein Archiv erstellt und entpackt.


gaby:~> ls Bilder/

me+tux.jpg nimf.jpg


gaby:~> tar cvf images-in-a-dir.tar images/

images/ images/nimf.jpg images/me+tux.jpg


gaby:~> CD-Bilder


gaby:~/images> tar cvf images-without-a-dir.tar *.jpg

me+tux.jpg nimf.jpg


gaby:~/images> cd


gaby:~> ls */*.tar

images/images-without-a-dir.tar


gaby:~> ls *.tar

images-in-a-dir.tar


gaby:~> tar xvf images-in-a-dir.tar

images/ images/nimf.jpg images/me+tux.jpg


gaby:~> tar tvf images/images-without-dir.tar

-rw-r--r-- gaby/gaby 42888 1999-06-30 20:52:25 me+tux.jpg

-rw-r--r-- gaby/gaby 7578 2000-01-26 12:58:46 nimf.jpg


gaby:~> tar xvf images/images-without-a-dir.tar

me+tux.jpg nimf.jpg


gaby:~> ls *.jpg

me+tux.jpg nimf.jpg

gaby:~> ls Bilder/

me+tux.jpg nimf.jpg


gaby:~> tar cvf images-in-a-dir.tar images/

images/ images/nimf.jpg images/me+tux.jpg


gaby:~> CD-Bilder


gaby:~/images> tar cvf images-without-a-dir.tar *.jpg

me+tux.jpg nimf.jpg


gaby:~/images> cd


gaby:~> ls */*.tar

images/images-without-a-dir.tar


gaby:~> ls *.tar

images-in-a-dir.tar


gaby:~> tar xvf images-in-a-dir.tar

images/ images/nimf.jpg images/me+tux.jpg


gaby:~> tar tvf images/images-without-dir.tar

-rw-r--r-- gaby/gaby 42888 1999-06-30 20:52:25 me+tux.jpg

-rw-r--r-- gaby/gaby 7578 2000-01-26 12:58:46 nimf.jpg


gaby:~> tar xvf images/images-without-a-dir.tar

me+tux.jpg nimf.jpg


gaby:~> ls *.jpg

me+tux.jpg nimf.jpg

Dieses Beispiel veranschaulicht auch den Unterschied zwischen einem getarnten Verzeichnis und einer Reihe von getarnten Dateien. Es empfiehlt sich, nur Verzeichnisse zu komprimieren, damit die Dateien beim Entpacken des Tarballs nicht überall verteilt werden (was sich möglicherweise auf einem anderen System befindet, auf dem Sie möglicherweise nicht wissen, welche Dateien bereits vorhanden waren und welche aus dem Archiv stammen).


Wenn ein Bandlaufwerk an Ihren Computer angeschlossen und von Ihrem Systemadministrator konfiguriert wurde, werden die Dateinamen mit der Endung .Teer werden durch den Namen des Bandgeräts ersetzt, zum Beispiel:


Teer cvf /dev/tape mail/


Das Verzeichnis E-mail und alle darin enthaltenen Dateien werden zu einer Datei komprimiert, die sofort auf das Band geschrieben wird. Da wir die ausführliche Option verwendet haben, wird eine Inhaltsliste angezeigt.


Image


9.1.1.2. Inkrementelle Backups mit tar


Das Teer Das Tool unterstützt die Erstellung inkrementeller Backups mithilfe von -N Möglichkeit. Mit dieser Option können Sie ein Datum angeben und Teer vergleicht die Änderungszeit aller angegebenen Dateien mit diesem Datum. Wenn Dateien vor längerem Datum geändert werden, werden sie in die Sicherung einbezogen. Das folgende Beispiel verwendet den Zeitstempel eines vorherigen Archivs als Datumswert. Zunächst wird das Erstarchiv erstellt und der Zeitstempel der Erstsicherungsdatei angezeigt. Dann wird eine neue Datei erstellt, woraufhin wir ein neues Backup erstellen, das nur diese neue Datei enthält:


Jimmy:~> tar cvpf /var/tmp/javaproggies.tar java/*.java

java/btw.java java/error.java java/hello.java java/income2.java java/income.java java/inputdevice.java java/input.java java/master.java java/method1.java java/mood.java java/moodywaitress.java java/test3.java java/TestOne.java java/TestTwo.java java/Vehicle.java


Jimmy:~> ls -l /var/tmp/javaproggies.tar

-rw-rw-r-- 1 jimmy jimmy 10240 21. Januar 11:58 /var/tmp/javaproggies.tar jimmy:~> Berühren Sie java/newprog.java

Jimmy:~> tar -N /var/tmp/javaproggies.tar \

-cvp /var/tmp/incremental1-javaproggies.tar java/*.java 2> /dev/null

java/newprog.java jimmy:~> cd /var/tmp/

Jimmy:~> tar xvf incremental1-javaproggies.tar

java/newprog.java

Jimmy:~> tar cvpf /var/tmp/javaproggies.tar java/*.java

java/btw.java java/error.java java/hello.java java/income2.java java/income.java java/inputdevice.java java/input.java java/master.java java/method1.java java/mood.java java/moodywaitress.java java/test3.java java/TestOne.java java/TestTwo.java java/Vehicle.java


Jimmy:~> ls -l /var/tmp/javaproggies.tar

-rw-rw-r-- 1 jimmy jimmy 10240 21. Januar 11:58 /var/tmp/javaproggies.tar jimmy:~> Berühren Sie java/newprog.java

Jimmy:~> tar -N /var/tmp/javaproggies.tar \

-cvp /var/tmp/incremental1-javaproggies.tar java/*.java 2> /dev/null

java/newprog.java jimmy:~> cd /var/tmp/

Jimmy:~> tar xvf incremental1-javaproggies.tar

java/newprog.java

Standardfehler werden weitergeleitet / dev / null. Wenn Sie dies nicht tun, Teer gibt für jede unveränderte Datei eine Meldung aus, die Sie darüber informiert, dass sie nicht gesichert wird.


Diese Arbeitsweise hat den Nachteil, dass Zeitstempel in Dateien berücksichtigt werden. Angenommen, Sie laden ein Archiv in das Verzeichnis herunter, das Ihre Backups enthält, und das Archiv enthält Dateien, die vor zwei Jahren erstellt wurden. Wenn man die Zeitstempel dieser Dateien mit dem Zeitstempel des ursprünglichen Archivs vergleicht, werden die neuen Dateien tatsächlich alt erscheinen Teerund wird nicht in eine inkrementelle Sicherung einbezogen, die mit erstellt wurde -N .


Eine bessere Wahl wäre die -g Option, die eine Liste der zu sichernden Dateien erstellt. Bei inkrementellen Sicherungen werden die Dateien anhand dieser Liste überprüft. So funktioniert es:


Jimmy:~> tar cvpf work-20030121.tar -g snapshot-20030121 work/

Arbeit/ Arbeit/Datei1 Arbeit/Datei2 Arbeit/Datei3


Jimmy:~> Datei-Snapshot-20030121

Jimmy:~> tar cvpf work-20030121.tar -g snapshot-20030121 work/

Arbeit/ Arbeit/Datei1 Arbeit/Datei2 Arbeit/Datei3


Jimmy:~> Datei-Snapshot-20030121


snapshot-20030121: ASCII Text Am nächsten Tag, Benutzer Jimmy arbeitet an file3 ein bisschen mehr, und schafft file4. Am Ende des Tages erstellt er ein neues Backup:


Jimmy:~> tar cvpf work-20030122.tar -g snapshot-20030121 work/

Arbeit/ Arbeit/Datei3 Arbeit/Datei4

Jimmy:~> tar cvpf work-20030122.tar -g snapshot-20030121 work/

Arbeit/ Arbeit/Datei3 Arbeit/Datei4

Dies sind einige sehr einfache Beispiele, aber Sie könnten diese Art von Befehl auch in einem Cronjob verwenden (siehe Abschnitt 4.4.4), der beispielsweise eine Snapshot-Datei für die wöchentliche Sicherung und eine für die tägliche Sicherung angibt.

In diesem Fall sollten Snapshot-Dateien bei der Erstellung vollständiger Backups ersetzt werden. Weitere Informationen finden Sie im Teer Dokumentation.

ImageDas echte Zeug

Wie Sie wahrscheinlich bemerkt haben, Teer ist in Ordnung, wenn es sich um ein einfaches Verzeichnis handelt, eine Reihe zusammengehöriger Dateien. Es gibt jedoch Tools, die einfacher zu verwalten sind, wenn Sie ganze Partitionen oder Festplatten oder größere Projekte archivieren möchten. Wir erklären es einfach Teer hier, weil es ein sehr beliebtes Tool zum Verteilen von Archiven ist. Es kommt häufig vor, dass Sie eine Software installieren müssen, die in einem enthalten ist

sogenannten „komprimierten Tarball“. Eine einfachere Möglichkeit zur Durchführung regelmäßiger Sicherungen finden Sie in Abschnitt 9.3.


Image

9.1.1.3. Komprimieren und Entpacken mit gzip oder bzip2


Daten, einschließlich Tarballs, können mit Zip-Tools komprimiert werden. Der gzip Der Befehl fügt dem Dateinamen das Suffix .gz hinzu und entfernt die Originaldatei.


Jimmy:~> ls -la | grep tar

-rw-rw-r-- 1 jimmy jimmy 61440 6. Juni 14:08 images-without-dir.tar jimmy:~> gzip images-without-dir.tar

Jimmy:~> ls -la images-without-dir.tar.gz

-rw-rw-r-- 1 jimmy jimmy 50562 6. Juni 14:08 images-without-dir.tar.gz

Jimmy:~> ls -la | grep tar

-rw-rw-r-- 1 jimmy jimmy 61440 6. Juni 14:08 images-without-dir.tar jimmy:~> gzip images-without-dir.tar

Jimmy:~> ls -la images-without-dir.tar.gz

-rw-rw-r-- 1 jimmy jimmy 50562 6. Juni 14:08 images-without-dir.tar.gz

Entpacken Sie gzip-Dateien mit dem -d .


bzip2 funktioniert ähnlich, verwendet jedoch einen verbesserten Komprimierungsalgorithmus und erstellt so kleinere Dateien. Weitere Informationen finden Sie auf den bzip2-Infoseiten.


Linux-Softwarepakete werden oft in einem komprimierten Tarball verteilt. Nach dem Entpacken dieser Art von Archiven ist es sinnvoll, das zu finden README und lies es. Es enthält im Allgemeinen Richtlinien zur Installation des Pakets.


Die GNU Teer Der Befehl erkennt gzip-Dateien. Verwenden Sie den Befehl


Teer zxvf file.tar.gz


zum Entpacken und Entpacken .tar.gz or . Tgz Dateien. Verwenden


Teer jxvf-Datei.tar.bz2


zum Auspacken Teer Archive, die mit komprimiert wurden bzip2.


Image


9.1.1.4. Java-Archive


Das GNU-Projekt stellt uns das zur Verfügung Feuer Tool zum Erstellen von Java-Archiven. Es handelt sich um eine Java-Anwendung, die mehrere Dateien in einer einzigen JAR-Archivdatei zusammenfasst. Obwohl es sich auch um ein Allzweck-Archivierungs- und Komprimierungstool handelt, das auf ZIP und dem ZLIB-Komprimierungsformat basiert, Feuer wurde hauptsächlich entwickelt, um das Packen von Java-Code, Applets und/oder Anwendungen in einer einzigen Datei zu erleichtern. Wenn die Komponenten einer Java-Anwendung in einem einzigen Archiv zusammengefasst werden, können sie viel schneller heruntergeladen werden.


Im Gegensatz zu Teer, Feuer komprimiert standardmäßig, unabhängig von anderen Tools – da es sich im Grunde um die Java-Version von handelt Reißverschluss. Darüber hinaus ist es möglich, einzelne Einträge in einem Archiv vom Autor zu signieren, sodass die Herkunft authentifiziert werden kann.


Die Syntax ist nahezu identisch mit der Teer Befehl, auf den wir uns beziehen Info Feuer für spezifische Unterschiede.


ImageTeer, Glas und symbolische Links

Eine bemerkenswerte Funktion, die in der Standarddokumentation nicht wirklich erwähnt wird, ist diese Feuer folgen symbolischen Links. Daten, auf die diese Links verweisen, werden in das Archiv aufgenommen. Die Standardeinstellung in Teer besteht darin, nur den symbolischen Link zu sichern, dieses Verhalten kann jedoch mithilfe von geändert werden -h zu Teer.


Image

9.1.1.5. Transport Ihrer Daten


Top OS Cloud Computing bei OnWorks: