Distribution Fedora.

Transcription

Distribution Fedora.
Linux - Archivierung.
-1/8-
1. Archivierung.
Hauptsächlich werden folgende Archivierungsarten angewendet. Bei den ersten Arten werden keine Rechte archiviert und dienen bevorzugt normalen Anwendern zur Erstellung komprimierter Dateien:
• Archivierung mit zip.
• Archivierung mit GNU-Zip.
• Archivierung mit bzip2.
Bei den folgenden Archivierungen werden die Rechte mit archiviert und werden für Sicherungen des Systems verwendet:
• Archivierung mit dem Kommando tar (s. dazu auch die Manpage und info tar)
tar
• Archivierung mit dem Kommando cpio (s. dazu die Manpage und info cpio)
cpio
1.1 Archivierung mit zip.
• Es werden keine Rechte mit archiviert!
• Die Kommandos zip und unzip dienen zum Packen und Entpacken.
zip <Optionen> <Archivdatei> [...]
-r
Unterverzeichnisse mit einbeziehen.
-R
Unterverzeichnisse mit einbeziehen, im aktuellen Verzeichnis beginnen.
-i
Nur Dateien mit einem bestimmten Muster (* und ? erlaubt) archivieren.
-j
Pfade nicht archivieren (Standard: relative Pfade archivieren).
-T
Archiv testen.
-v
Ausführliche Anzeige.
Weitere viele Optionen siehe Manpage.
• Bei der Archivdatei wird automatisch die Dateiendung .zip hinzugefügt.
Archivierung:
$ cd /usr/share/doc
$ zip -r ~/doku-backuppc BackupPC-*
adding: BackupPC-3.2.1/ (stored 0%)
adding: BackupPC-3.2.1/README.RHEL (deflated 49%)
adding: BackupPC-3.2.1/LICENSE (deflated 62%)
adding: BackupPC-3.2.1/README (deflated 57%)
adding: BackupPC-3.2.1/ChangeLog (deflated 67%)
adding: BackupPC-3.2.1/doc/ (stored 0%)
adding: BackupPC-3.2.1/doc/BackupPC.pod (deflated 69%)
adding: BackupPC-3.2.1/doc/BackupPC.html (deflated 73%)
adding: BackupPC-3.2.1/README.fedora (deflated 42%)
$ cd
$ zip -Tv doku-*
Archive: doku-backuppc.zip
testing: BackupPC-3.2.1/
OK
testing: BackupPC-3.2.1/README.RHEL
OK
testing: BackupPC-3.2.1/LICENSE
OK
testing: BackupPC-3.2.1/README
OK
testing: BackupPC-3.2.1/ChangeLog
OK
testing: BackupPC-3.2.1/doc/
OK
testing: BackupPC-3.2.1/doc/BackupPC.pod
OK
testing: BackupPC-3.2.1/doc/BackupPC.html
OK
testing: BackupPC-3.2.1/README.fedora
OK
No errors detected in compressed data of doku-backuppc.zip.
test of doku-backuppc.zip OK
unzip [<Optionen>] <Archivdatei> [<Datei> [. . .]] [-d <Entpackverzeichnis>]
-d
Verzeichnis zum Entpacken des Archivs (Standard: aktuelles Verzeichnis).
-l
Inhalt auflisten.
-T
Archiv testen.
-v
Ausführliche Anzeige.
Weitere viele Optionen siehe Manpage.
• Bei der Archivdatei wird automatisch die Dateiendung .zip hinzugefügt.
Distribution Fedora.
17. März 2012
Dr. J. Kubiak - [email protected]
Linux - Archivierung.
-2/8-
$ unzip -t doku-backuppc
Archive: doku-backuppc.zip
testing: BackupPC-3.2.1/
OK
testing: BackupPC-3.2.1/README.RHEL
OK
testing: BackupPC-3.2.1/LICENSE
OK
testing: BackupPC-3.2.1/README
OK
testing: BackupPC-3.2.1/ChangeLog
OK
testing: BackupPC-3.2.1/doc/
OK
testing: BackupPC-3.2.1/doc/BackupPC.pod
OK
testing: BackupPC-3.2.1/doc/BackupPC.html
OK
testing: BackupPC-3.2.1/README.fedora
OK
No errors detected in compressed data of doku-backuppc.zip.
$ unzip -lv doku-backuppc
Archive: doku-backuppc.zip
Length
Method
Size Cmpr
Date
Time
CRC-32
Name
-------- ------ ------- ---- ---------- ----- -------- ---0 Stored
0
0% 02-03-2012 13:54 00000000 BackupPC-3.2.1/
990 Defl:N
505 49% 01-23-2012 03:33 690d0765 BackupPC-3.2.1/README.RHEL
15220 Defl:N
5776 62% 04-25-2011 05:31 869ccae7 BackupPC-3.2.1/LICENSE
5735 Defl:N
2476 57% 04-25-2011 05:31 a7e2c177 BackupPC-3.2.1/README
75390 Defl:N
25126 67% 01-23-2012 03:33 f7d9c983 BackupPC-3.2.1/ChangeLog
0 Stored
0
0% 02-03-2012 13:54 00000000 BackupPC-3.2.1/doc/
181789 Defl:N
56039 69% 01-23-2012 03:33 2d6f3af9 BackupPC-3.2.1/doc/BackupPC.pod
234053 Defl:N
63253 73% 01-23-2012 03:33 c9fa0632 BackupPC-3.2.1/doc/BackupPC.html
614 Defl:N
357 42% 01-23-2012 03:33 424f96e4 BackupPC-3.2.1/README.fedora
-------------- --------513791
153532 70%
9 files
$ unzip doku-backuppc
Archive: doku-backuppc.zip
creating: BackupPC-3.2.1/
inflating: BackupPC-3.2.1/README.RHEL
inflating: BackupPC-3.2.1/LICENSE
inflating: BackupPC-3.2.1/README
inflating: BackupPC-3.2.1/ChangeLog
creating: BackupPC-3.2.1/doc/
inflating: BackupPC-3.2.1/doc/BackupPC.pod
inflating: BackupPC-3.2.1/doc/BackupPC.html
inflating: BackupPC-3.2.1/README.fedora
$ ls -F BackupPC-*
ChangeLog doc/ LICENSE README README.fedora README.RHEL
$ rm -r BackupPC-*
1.2 Archivierung mit gzip.
• Es werden keine Rechte mit archiviert!
• Die Kommandos gzip und gunzip dienen zum Packen und Entpacken.
• Es kann immer nur eine Datei separat archiviert werden!
• Quelldateien werden nach dem Archivieren gelöscht!
• Archivdateien werden nach dem Entpacken gelöscht!
gzip [ <Optionen> ] [ <Datei> [...]]
-t
Archiv testen.
-l
Listen der Eigneschaften.
-v
Ausführliche Anzeige.
Weitere viele Optionen siehe Manpage.
• Bei jeder Archivdatei wird automatisch die Dateiendung .gz hinzugefügt.
$ gzip -r BackupPC-*/
gzip: BackupPC-3.2.1/doc is a directory -- ignored
$ tree BackupPC-*/
BackupPC-3.2.1/
├── ChangeLog.gz
├── doc
Distribution Fedora.
17. März 2012
Dr. J. Kubiak - [email protected]
Linux - Archivierung.
│
│
├──
├──
├──
└──
-3/8-
├── BackupPC.html.gz
└── BackupPC.pod.gz
LICENSE.gz
README.fedora.gz
README.gz
README.RHEL.gz
1 directory, 7 files
$ du -sh BackupPC-*/
176K
BackupPC-3.2.1/
$ gzip -rtv BackupPC-*/
BackupPC-3.2.1//README.fedora.gz:
BackupPC-3.2.1//LICENSE.gz:
OK
BackupPC-3.2.1//ChangeLog.gz:
OK
BackupPC-3.2.1//README.gz:
OK
BackupPC-3.2.1//README.RHEL.gz: OK
BackupPC-3.2.1//doc/BackupPC.html.gz:
BackupPC-3.2.1//doc/BackupPC.pod.gz:
$ gzip -rlv BackupPC-*/
method crc
defla 424f96e4
defla 869ccae7
defla f7d9c983
defla a7e2c177
defla 690d0765
defla c9fa0632
defla 2d6f3af9
gunzip
-t
-l
-v
date
Feb 11
Feb 11
Feb 11
Feb 11
Feb 11
Feb 11
Feb 11
time
19:28
19:28
19:28
19:28
19:28
19:28
19:28
compressed
389
5802
25154
2501
535
63285
56070
OK
OK
OK
uncompressed
614
15220
75390
5735
990
234053
181789
ratio
41.9%
62.0%
66.7%
56.8%
49.0%
73.0%
69.2%
uncompressed_name
BackupPC-3.2.1//README.fedora
BackupPC-3.2.1//LICENSE
BackupPC-3.2.1//ChangeLog
BackupPC-3.2.1//README
BackupPC-3.2.1//README.RHEL
BackupPC-3.2.1//doc/BackupPC.html
BackupPC-3.2.1//doc/BackupPC.pod
[ <Optionen> ] [ <Datei> [...]]
Archiv testen.
Listen der Eigneschaften.
Ausführliche Anzeige.
Weitere viele Optionen siehe Manpage.
$ gunzip -r BackupPC-*/
$ tree BackupPC-*/
BackupPC-3.2.1/
├── ChangeLog
├── doc
│
├── BackupPC.html
│
└── BackupPC.pod
├── LICENSE
├── README
├── README.fedora
└── README.RHEL
1 directory, 7 files
Archivierte Dateien können mit den Kommandos zcat,
zcat zmore und zless auf der Standardausgabe (Bildschirm)
dekomprimiert ausgegeben werden.
1.3 Archivierung mit bzip2.
• Es werden keine Rechte mit archiviert!
• Die Kommandos bzip2 und bunzip2 dienen zum Packen und Entpacken.
• Es kann immer nur eine Datei separat archiviert werden!
bzip2 [ <Optionen> ] [ <Datei> [...]]
-k
Quelldateien nicht löschen (Standard: Quelldateien werden nach dem Archivieren gelöscht), engl. keep.
-t
Archiv testen.
-v
Ausführliche Anzeige.
Weitere viele Optionen siehe Manpage.
• Bei jeder Archivdatei wird automatisch die Dateiendung .bz2 hinzugefügt.
Distribution Fedora.
17. März 2012
Dr. J. Kubiak - [email protected]
Linux - Archivierung.
-4/8-
$ cd
$ cp -r /usr/share/doc/BackupPC-* .
$ bzip2 BackupPC-*/* BackupPC-*/doc/*
bzip2: Input file BackupPC-3.2.1/doc is a directory.
$ tree BackupPC-*/
BackupPC-3.2.1/
├── ChangeLog.bz2
├── doc
│
├── BackupPC.html.bz2
│
└── BackupPC.pod.bz2
├── LICENSE.bz2
├── README.bz2
├── README.fedora.bz2
└── README.RHEL.bz2
1 directory, 7 files
$ du -sh BackupPC-*/
152K
BackupPC-3.2.1/
$ bzip2 -tv BackupPC-*/*.bz2 BackupPC-*/doc/*.bz2
BackupPC-3.2.1/ChangeLog.bz2:
ok
BackupPC-3.2.1/LICENSE.bz2:
ok
BackupPC-3.2.1/README.bz2:
ok
BackupPC-3.2.1/README.fedora.bz2:
ok
BackupPC-3.2.1/README.RHEL.bz2:
ok
BackupPC-3.2.1/doc/BackupPC.html.bz2: ok
BackupPC-3.2.1/doc/BackupPC.pod.bz2: ok
bunzip2 [ <Optionen> ] [ <Datei> [...]]
-k
Quelldateien nicht löschen (Standard: Archivdateien werden nach dem Entpacken gelöscht), engl. keep.
-t
Archiv testen.
-v
Ausführliche Anzeige.
Weitere viele Optionen siehe Manpage.
$ bunzip2 BackupPC-*/*.bz2 BackupPC-*/doc/*.bz2
$ tree BackupPC-*/
BackupPC-3.2.1/
├── ChangeLog
├── doc
│
├── BackupPC.html
│
└── BackupPC.pod
├── LICENSE
├── README
├── README.fedora
└── README.RHEL
1 directory, 7 files
$ du -sh BackupPC-*/
528K
BackupPC-3.2.1/
Archivierte Dateien können mit den Kommandos bzcat,
bzcat bzmore und bzless auf der Standardausgabe (Bildschirm) dekomprimiert ausgegeben werden.
1.4 Archivierung mit tar.
Das Kommando tar dient der Archivierung von Dateien und Ordnern. Dabei werden die Attribute wie Rechte, Eigentümer, Gruppe, Datum usw. mit archiviert (ist bei ZIP Archivierung nicht der Fall).
tar [ -vcjxtdkzf ] [ --preserve ] [ --one-file-system ] [ --exclude=<Muster>
] [ -X <Datei> ] <Archivdatei> [<Name(n)>]
--exclude=
-c
Archivdatei von den Name(n) der Verzeichnisse oder Dateien anlegen (create).
-x
Name(n) der Verzeichnisse oder Dateien aus der Archivdatei zum Entpacken (extract).
-t
Name(n) der Verzeichnisse oder Dateien aus der Archivdatei nur listen (test).
-d
Archiv verifizieren (differences).
Distribution Fedora.
17. März 2012
Dr. J. Kubiak - [email protected]
Linux - Archivierung.
-5/8-
-W
Lesbarkeit des Archivs prüfen, dies ist keine Verifizierung gegen vorhandene Dateien!
Nur bei unkomprimierten Archiven möglich!
-v
Detaillierte Meldungen erzeugen (verbose).
-z
gzip (GNU-ZIP, ist nicht das ZIP Format) komprimiertes Archiv (beim Entpacken kann Option entfallen).
-j
bzip2 komprimiertes Archiv (beim Entpacken kann Option entfallen).
--preserve
Nur beim Entpacken: Dateirechte und Reihenfolge der Anordnung wie im Archiv erhalten. Wichtig für
das Entpacken von Systemsicherungen und ist Standard beim Entpacken unter dem root Account
(diese Option braucht also von root nicht angegeben werden).
--one-file-system Nur beim Archivieren: Ist im Umfang der Archivierung ein Netzwerk-Dateisystem eingebunden (NFS,
SMB, ...), wird dieses von der Archivierung ausgeschlossen.
verhindert diese Option das der Inhalt des Mountpoints mit archiviert wird.
-k
Beim Entpacken: Keine vorhandenen Dateien überschreiben (keep).
-f
Archivdatei (auch ein Device in /dev sein, wie zum Beispiel ein Bandgerät /dev/mt0)
Diese Option muß immer die letzte Option vor Angabe der Archivdatei sein!
--exclude
Zur Angabe eines Musters für Dateien, die nicht archiviert werden sollen.
-X Datei
Die in dieser Datei enthaltenen Muster (ein Muster pro Zeile) werden von der Archivierung ausgenommen.
Archivdatei Name der Datei, die die Sicherung enthält oder ein Device (Gerät).
Namen
Namen der zu de-/archivierenden Dateien/Verzeichnisse (Wichtig: denken Sie daran, daß der Platzhalter *
nie für den Punkt im Namen von versteckten Dateien steht, geben Sie immer ein Verzeichnis an, wenn Sie
versteckte und nicht versteckte Dateien sichern wollen).
Wenn nicht angegeben, gilt ganzer Archivinhalt - bei Erstellung ist die Angabe notwendig.
Die Sicherung erfolgt mit relativem Pfad (Standard), auch wenn zu sichernde Verzeichnisse und Dateien mit
absolutem Pfad angegeben werden. Dies ist sinnvoll und sollte nicht über eine entsprechende Option geändert
werden!
Das Kommando tar wird auch zur Sicherung eines kompletten Linux Systems verwendet und muß immer
über ein autarkes zweites Linuxsystem erfolgen (das zu sichernde System darf also nicht hochgefahren werden),
zum Beispiel durch ein auf der RAM Disk befindliches Notfall Linux der Installations-DVD oder der Net-Install-CD.
• Die Dateiendung von Archiven ist wahlfrei. Es ist aber üblich bei GNU-Zip die Endung .tgz oder .tar.gz zu vergeben, bei unkomprimierten Archiven .tar und bei bzip2 komprimierten Archiven die Endung .tar.bz2.
Beispiel, Sicherung des eigenen Heimatverzeichnisses durch den Benutzer selbst:
Wird die Archivdatei in dem Verzeichnis angelegt, das gesichert wird, so empfiehlt sich, die Sicherungsdatei(en) von
der Archivierung auszunehmen (durch Kommandosubstitution wird ein eindeutiger Dateiname für die Sicherungsdatei vergeben):
$ cd
$ tar --exclude='sicherung-*.tgz' -czf sicherung-`date '+%Y%m%d%H%M'`.tgz .
$ ls -lh sicherung-*
-rw-rw-r--. 1 kubi kubi 134M 10. Feb 18:18 sicherung-201202101818.tgz
Nehmen wir an, eine Datei wurde im Dateisystem inzwischen verändert. Es läßt sich ermitteln welche:
$ tar --exclude='sicherung-*.tgz' -dzf sicherung-201202101818.tgz
./.libreoffice/3/user/registrymodifications.xcu: Änderungszeit ist unterschiedlich
./.libreoffice/3/user/registrymodifications.xcu: Größe ist unterschiedlich
Wird zum Beispiel eine Datei gelöscht, läßt sie sich aus der Sicherung wieder herstellen:
$ rm .bash_history
$ ls .bash_history
ls: Zugriff auf .bash_history nicht möglich: Datei oder Verzeichnis nicht gefunden
$ tar -xzf sicherung-201202101818.tgz ./.bash_history
$ ls .bash_history
.bash_history
Natürlich sollten Sicherungen nicht auf dem Rechner verbleiben, auf dem sie erstellt wurden! Sie sollten
auf einen anderen Rechner im Netz übertragen werden, auf eine externe Festplatte, eine Wechselplatte oder ein
Bandmedium übertragen werden. Man beachte auch Sicherungsstrategien wie inkrementelle oder differentielle
Sicherungen und Backuppläne mit mehreren Datenträgern.
RAW formatierte Datenträger (Disketten, USB-Sticks, Datenbänder usw. ohne Dateisystem) können mit dem
Kommando tar seriell beschrieben und unter allen UNIX Systemen gelesen werden!
Durch Verwendung einer Pipe auf das Kommando split läßt sich eine Archivdatei in mehrere mit jeweils einer maximalen Dateigröße teilen - praktisch, wenn ein Archiv nicht mehr auf den Datenträger paßt. Mit dem Kommando
cat werden die Teile wieder zusammengesetzt.
Distribution Fedora.
17. März 2012
Dr. J. Kubiak - [email protected]
Linux - Archivierung.
-6/8-
$ tar --exclude='sicherung-*' -czf - . | split -d -b 50M - sicherung-`date '+%Y%m%d%H%M'`.
tar: .: Datei hat sich beim Lesen geändert.
$ ls -lh sicherung*
-rw-rw-r--. 1 kubi kubi 50M 11. Feb 13:27 sicherung-201202111327.00
-rw-rw-r--. 1 kubi kubi 50M 11. Feb 13:27 sicherung-201202111327.01
-rw-rw-r--. 1 kubi kubi 39M 11. Feb 13:27 sicherung-201202111327.02
$ cat sicherung-201202111327.?? | tar -tzf - ./.bash_history
./.bash_history
$ rm .bash_history
$ ls .bash_history
ls: Zugriff auf .bash_history nicht möglich: Datei oder Verzeichnis nicht gefunden
$ cat sicherung-201202111327.?? | tar -xzf - ./.bash_history
$ ls .bash_history
.bash_history
Unter dem Betriebssystem aus Redmont lassen sich die Teile wieder mit copy /b Datei.00+Datei.01+... Gesamtdatei
zusammen setzen.
1.5 Archivierung mit cpio.
Archivierungen mit dem Kommando cpio werden von einigen Administratoren bevorzugt, obwohl er gegenüber Archivierungen mit tar Nachteile aufweist:
• Es gibt keine direkte Möglichkeit, ein angelegtes Archiv bitweise zu verifizieren (-d Option bei tar).
• Die Handhabung ist in der Kommandozeile weitaus umständlicher.
Der Vorteil bei cpio:
• Im Gegensatz zu tar können beschädigte Archive mit cpio gerettet werden.
Mit cpio werden die Attribute wie Rechte, Eigentümer, Gruppe, Datum usw. mit archiviert.
1.5.1 Anlegen eines Archivs (-o Option).
Beim Anlegen eines Archivs mit dem Kommando cpio ist zu beachten:
• Bei absoluter Angabe des Pfades wird auch der absolute Pfad gesichert:
find /<Pfad>[/
/<Datei(en)>] [<weitere Optionen>] | cpio -o > <Archivdatei>
/
Bei relativer Angabe wird der relative Pfad gesichert:
find /<Pfad>[/
/<Datei(en)>] [<weitere Optionen>] | cpio -o > <Archivdatei>
/
Archivierung des aktuellen Verzeichnisses ohne Unterverzeichnisse mit relativem Pfad:
ls [<Datei(en)>] | cpio -o > <Archivdatei>
• Durch Verwendung einer Pipe auf das Kommando gzip können die Archive komprimiert werden (mit einer weiteren Pipe auf das Kommando split würden mehrere Archivdateien mit einer maximalen Dateigröße entstehen praktisch, wenn ein Archiv nicht mehr auf den Datenträger paßt).
• Um nicht ganze Verzeichnisse, sondern nur ausgewählte Dateien usw. zu archivieren, kann mit Wildcards und
Jokerzeichen bei ls und find (hier auch reguläre Ausdrücke) gearbeitet werden, als auch in der Pipe das Kommando grep (hier auch reguläre Ausdrücke) verwendet werden.
• Verwendet man bei find die Option -mtime, lassen sich inkrementelle Backups erstellen.
Beispiel: Verzeichnis /etc mit absolutem Pfad als root archivieren.
# cd
# pwd
/root
# find /etc | cpio -o > etc-sicherung`date '+%Y%m%d%H%M'`.cpio
55804 blocks
# ls -lh etc-sicherung*
Distribution Fedora.
17. März 2012
Dr. J. Kubiak - [email protected]
Linux - Archivierung.
-7/8-
-rw-r--r--. 1 root root 28M 11. Feb 14:22 etc-sicherung201202111422.cpio
Archive mit cpio sind nicht komprimiert, lassen sich aber in der Pipe mit dem Kommando gzip komprimieren:
# find /etc | cpio -o | gzip > ~/etc-sicherung`date '+%Y%m%d%H%M'`.cpio.gz
55804 blocks
# ls -lh etc-sicherung*
-rw-r--r--. 1 root root 28M 11. Feb 14:22 etc-sicherung201202111422.cpio
-rw-r--r--. 1 root root 9,8M 11. Feb 14:25 etc-sicherung201202111425.cpio.gz
Beispiel: Verzeichnis /etc mit relativem Pfad komprimiert als root archivieren.
# cd /
# find ./etc | cpio -o | gzip > ~/etc-rel-sicherung`date '+%Y%m%d%H%M'`.cpio.gz
55799 blocks
# cd
# ls -lh etc-*sicherung*
-rw-r--r--. 1 root root 9,8M 11. Feb 14:33 etc-rel-sicherung201202111432.cpio.gz
-rw-r--r--. 1 root root 28M 11. Feb 14:22 etc-sicherung201202111422.cpio
-rw-r--r--. 1 root root 9,8M 11. Feb 14:25 etc-sicherung201202111425.cpio.gz
1.5.2 Listen des Inhalts eines Archivs (-t Option).
Mit dem Kommando grep in der Pipe vor der Bildschirmausgabe können nur bestimmte Dateien aus dem Archiv an gezeigt werden, die von Interesse sind.
cpio -t[v
-t v] < <Archivdatei> oder cat <Archivdatei> | cpio -t[v
-t v]
-v
Langes Listing, wie bei ls -l
Beispiel: Ausgabe Inhalte von Archiven.
# cpio -tv < etc-sicherung201202111422.cpio | grep motd
-rw-r--r-1 root
root
0 May 19 2011 /etc/motd
55804 blocks
# cat etc-sicherung201202111422.cpio | cpio -tv | grep motd
-rw-r--r-1 root
root
0 May 19 2011 /etc/motd
55804 blocks
Im Falle von GNU-Zip komprimierten Archiven kann das Kommando gunzip oder das Kommando zcat verwendet werden:
# gunzip -c etc-sicherung201202111425.cpio.gz | cpio -tv | grep motd
-rw-r--r-1 root
root
0 May 19 2011 /etc/motd
55804 blocks
# zcat etc-sicherung201202111425.cpio.gz | cpio -tv | grep motd
-rw-r--r-1 root
root
0 May 19 2011 /etc/motd
55804 blocks
1.5.3 Wiederherstellen von Archiven (-i Option).
Mit relativem Pfad erzeugte Archive werden im aktuellen Verzeichnis entpackt. Standardmäßig werden keine Dateien überschrieben, die neuer oder gleich alt wie die im Archiv sind. Werden keine Datei(en) zum Kopieren aus
dem Archiv angegeben, wird das ganze Archiv zurück kopiert - werden welche angegeben, dann werden nur diese zurück kopiertt (man darf nicht nur den Dateinamen angeben, sondern muß den Pfad berücksichtigen!).
cat | zcat <Archivdatei> | cpio -i[tmdu
-i tmdu] [<Datei(en)>]
oder
cpio -i[tmdu
-i tmdu] [<Datei(en)>] < <Archivdatei>
-i
Kopiert aus Archiv zurück.
-d
Erstellt wenn nötig Unterverzeichnis(se).
-u
Überschreibt ohne auf Zeit-Stempel zu achten.
-m
Zeitattribut aus Archiv erhalten.
-t
Verhindert das zurück kopieren, Option für Test.
Beispiel, zurück kopieren von /etc/motd:
# mv /etc/motd /etc/motd.bak
# cat etc-sicherung201202111422.cpio | cpio -im /etc/motd
55804 blocks
Distribution Fedora.
17. März 2012
Dr. J. Kubiak - [email protected]
Linux - Archivierung.
# ls -l /etc/motd
-rw-r--r--. 1 root root 0 19. Mai 2011
-8/8-
/etc/motd
# rm -f /etc/motd
# cpio -im /etc/motd < etc-sicherung201202111422.cpio
55804 blocks
# ls -l /etc/motd
-rw-r--r--. 1 root root 0 19. Mai 2011 /etc/motd
# rm -f /etc/motd
# zcat etc-sicherung201202111425.cpio.gz | cpio -im /etc/motd
55804 blocks
# ls -l /etc/motd
-rw-r--r--. 1 root root 0 19. Mai 2011 /etc/motd
# rm -f /etc/motd
# cd /
# zcat ~/etc-rel-sicherung201202111432.cpio.gz | cpio -im etc/motd
# ls -l /etc/motd
-rw-r--r--. 1 root root 0 19. Mai 2011 /etc/motd
# cd
# rm -f /etc/motd.bak
Hinweis: Sollten Sie die Datei /etc/motd nicht ehr wiederhergestellt bekommen, auch nicht aus der Sicherungsdatei
motd.bak. so erstellen Sie die leere Datei mit touch /etc/motd
Auch bei cpio ist es möglich, mit dem Kommando split in der Pipe die Archivdatei in mehrere Dateien mit einer
maximalen Größe zu unterteilen.Bei der Wiederherstellung lassen sich beim Kommando zcat wie bei cat mehrere Dateien angeben.
Distribution Fedora.
17. März 2012
Dr. J. Kubiak - [email protected]