Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:tar

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:tar [2012/03/28 09:56]
ingo_wichmann
admin_grundlagen:tar [2022/04/27 13:37]
127.0.0.1 Externe Bearbeitung
Zeile 1: Zeile 1:
 ====== tar ====== ====== tar ======
 +Wichtige Optionen für tar:
 +| ''​c''​ | ''​%%--create%%'' ​ | tar Archiv erstellen |
 +| ''​x''​ | ''​%%--extract%%''​ | tar Archiv auspacken |
 +| ''​t''​ | ''​%%--list%%'' ​   | tar Archiv anzeigen ​ |
 +| ''​d''​ | ''​%%--diff%%'' ​   | tar Archiv vergleichen |
 +| ''​f''​ | ''​%%--file%%'' ​   | tar Archiv in angegebene Datei schreiben bzw. aus angegebener Datei lesen |
 +| ''​l''​ | ''​%%--one-file-system%%''​ | keine Mountpoints sichern, bleibe auf dem Start-Dateisytem |
 +| ''​z''​ | ''​%%--gzip%%'' ​           | gzip Komprimierung:​ geringere Komprimierung,​ nicht reparierbar bei Fehlern, geringer Rechenaufwand |
 +| ''​j''​ | ''​%%--bzip2%%'' ​          | bzip2 Komprimierung:​ höhere Komprimierung,​ größere Datensicherheit,​ mehr Rechenaufwand im Vergleich zu gzip |
 +| ''​J''​ | ''​%%--xz%%'' ​             | xz Komprimierung:​ noch höhere Komprimierung,​ noch mehr Rechenaufwand |
 +|       | ''​%%--zstd%%'' ​             | zstd Komprimierung:​ noch höhere Komprimierung,​ weniger Rechenaufwand,​ threaded |
 +|       | ''​%%--numeric-owner%%'' ​  | Nicht die Namen, sondern die Nummern der Benutzer sollen gesichert werden. Notwendig bei der Sicherung des kompletten Systems |
 +|       | ''​%%--acl%%'' ​            | ACLs mitsichern bzw. wiederherstellen |
 +|       | ''​%%--xattrs%%'' ​         | erweiterte Attribute (für SELinux, Capabilities,​ o.ä.) mitsichern |
 +| ''​C''​ | ''​%%--directory%%''​ | ins Verzeichnis wechseln |
 +
 ===== tar und gzip ===== ===== tar und gzip =====
 +(( wird man in der Praxis so selten verwenden, nur um zu zeigen das //tar// und //gzip// zwei verschiedene Aufgaben erfüllen. ))
 +
 Verzeichnis archivieren:​ Verzeichnis archivieren:​
   tar cf directory.tar directory/   tar cf directory.tar directory/
Zeile 7: Zeile 25:
 Archiv entpacken: Archiv entpacken:
   gunzip directory.tar.gz   gunzip directory.tar.gz
-Archiv ansehen:+unkomprimiertes ​Archiv ansehen:
   tar tf directory.tar   tar tf directory.tar
 +komprimiertes Archiv ansehen:
 +  tar tzf directory.tar.gz
 Archiv auspacken: Archiv auspacken:
   tar xf directory.tar   tar xf directory.tar
Zeile 20: Zeile 40:
   tar xzf directory.tgz   tar xzf directory.tgz
  
-===== Sicherung ​mit tar auf Band =====+====== Sicherung ​des root-Dateisystems ​auf Band =====
 +Sicherung: ​
  
-Komplettsicherung eines Systems auf Band ( ''/​dev/​st0''​ ), bei dem die Verzeichnisse ''/''​ und ''/​usr''​ und ''/​dev''​ auf separaten Dateisystemen liegen: +  ​tar cf /​dev/​st0 ​--directory / --one-file-system ​--numeric-owner ​.
-  ​tar clf /dev/st0 --numeric-owner ​/ /​usr  ​+
  
-oder in Langform+Überprüfung der Sicherung: (im tar-Archiv fehlende Dateien werden nicht angezeigt (( 
-  tar --create ​--one-file-system ​--numeric-owner --file /dev/st0 / /usr +Auch die kann man sich raussuchen, aber mir fällt dazu nur eine etwas mühevolle Lösung ein
 +  tar tf /dev/md0 | sort > /​run/​tar.list 
 +  (cd / && find . -xdev \( -type d -printf "​%p/​\n"​ , ! \( -type d --type s \) -print \)) | sort  | comm --total --3 - /​run/​tar.list 
 +)) ) 
 +  tar df /​dev/​st0 ​--directory ​--one-file-system --numeric-owner .
  
-Wichtige Optionen für tar: +====== Sicherung in Datei auf entfernten Rechner mit ssh ===== 
-| c | --create | tar Archiv erstellen | +tar-Archiv ​auf Rechner notebook02 anlegen: 
-| x | --extract | tar Archiv ​auspacken | +  tar cj --directory /usr/share doc ssh notebook02 'cat > /tmp/doc.tar.bz2'
-| d | --diff | tar Archiv vergleichen | +
-| f | --file | tar Archiv in angegebene Datei schreiben bzwaus angegebener Datei lesen | +
-| l | --one-file-system | keine Mountpoints sichern, bleibe auf dem Start-Dateisytem | +
-|   | --numeric-owner | Nicht die Namen, sondern die Nummern der Benutzer sollen gesichert werden. Notwendig bei der Sicherung des Kompletten Systems | +
-| z | --gzip | gzip Komprimierung:​ geringere Komprimierung,​ nicht reparierbar bei Fehlern, geringer Rechenaufwand | +
-| j | --bzip2 | bzip2 Komprimierung:​ höhere Komprimierung,​ größere Datensicherheit,​ mehr Rechenaufwand im Vergleich zu gzip |+
  
-Überprüfung der Sicherung+Wiederherstellung
-  ​cd && tar dlf /dev/st0 *  +  ​ssh notebook02 '​cat ​/tmp/doc.tar.bz2' ​tar xj --directory ​/usr/share
- +
-Sicherung in Datei, mit Logdateien:​ +
-  mount server:/​verzeichnis /​mnt/​sicherung +
-  ​tar -czvf /​mnt/​sicherung/​notebook22a.tgz --numeric-owner --one-file-system / /usr /dev > /​mnt/​sicherung/​notebook22a.log 2>/​mnt/​sicherung/​notebook22a.err +
- +
-Sicherung auf mehrere Dateien aufteilen, z.B. wegen Dateisystem-Begrenzungen oder für CD's: +
-  ​tar -cz --numeric-owner --one-file-system / /usr/bin/ | split -b 650m /​mnt/​sicherung/​notebook22a.tgz. ​+
  
 ====== Dateien kopieren mit sudo, tar und ssh ====== ====== Dateien kopieren mit sudo, tar und ssh ======
 Datei incl. Berechtigungen von notebook01 auf notebook02 kopieren: (( überschreibt ohne zu Fragen! )) Datei incl. Berechtigungen von notebook01 auf notebook02 kopieren: (( überschreibt ohne zu Fragen! ))
   ssh notebook01 'sudo tar cP /​etc/​ssl/​certs/​service.linuxhotel.de.cert.pem /​etc/​ssl/​private/​service.linuxhotel.de.key.pem'​ | ssh notebook02 'sudo tar xP'   ssh notebook01 'sudo tar cP /​etc/​ssl/​certs/​service.linuxhotel.de.cert.pem /​etc/​ssl/​private/​service.linuxhotel.de.key.pem'​ | ssh notebook02 'sudo tar xP'
-alternativ, incl. Anzeige der Übertragung:​+((alternativ, incl. Anzeige der Übertragung:​
   ssh notebook01 'sudo tar cP /​etc/​ssl/​certs/​service.linuxhotel.de.cert.pem /​etc/​ssl/​private/​service.linuxhotel.de.key.pem'​ | ssh notebook02 'pv -b -r | sudo tar xP'   ssh notebook01 'sudo tar cP /​etc/​ssl/​certs/​service.linuxhotel.de.cert.pem /​etc/​ssl/​private/​service.linuxhotel.de.key.pem'​ | ssh notebook02 'pv -b -r | sudo tar xP'
 +))
 ====== Verzeichnisse kopieren mit sudo, tar und netcat ====== ====== Verzeichnisse kopieren mit sudo, tar und netcat ======
 +Unter Debian (6) getestet, unter CentOS wahrscheinlich andere Schalter.
 ===== Empfänger ===== ===== Empfänger =====
-  netcat -l -s 172.16.240.155 -p 6666 | sudo tar xzP --directory /​mnt/​kopie +  netcat -l -s 172.16.240.155 -p 6666 | sudo tar xz --directory /mnt/kopie
- +
-alternativ, incl. Anzeige der Übertragung:​ +
-  netcat -l -s 172.16.240.155 -p 6666 | pv -b -r | sudo tar xzP --directory /mnt/kopie+
  
 +((alternativ,​ incl. Anzeige der Übertragung:​
 +  netcat -l -s 172.16.240.155 -p 6666 | pv -b -r | sudo tar xz --directory /mnt/kopie
 +))
 ===== Sender ===== ===== Sender =====
-  tar cPz --numeric-owner --directory /​mnt/​original . | nc -q0 -T reliability 172.16.240.155 6666+  tar cz --numeric-owner --directory /​mnt/​original . | nc -q0 -T reliability 172.16.240.155 6666 
 + 
 +====== erweiterte Attribute, ACLs, Capabilities ====== 
 +//testen, klappt evtl nur mit RH-Version und tar ab Version 1.27// 
 + 
 +//Todo: unter CentOS 7 getestet. Was ist mit debian und tar Version 1.27?// 
 + 
 +The default ACL values have incorrectly been filled in, using the values of the directory'​s access permissions. Dieser Bug ist unter CentOS bekannt: https://​bugs.centos.org/​view.php?​id=7696  
 +Diesen Bug gibt es aber auch unter Debian, in tar aus den Backports. Wahrscheinlich auch unter jessie.  
 + 
 +  tar -c --numeric-owner --xattrs --acls --one-file-system --directory / . | ssh nutzer06@notebook06 sudo tar x --xattrs --acls --xattrs-include='​*'​ --directory /​mnt/​backup/​tar 
 +((https://​bugzilla.redhat.com/​show_bug.cgi?​id=771927)) 
  
admin_grundlagen/tar.txt · Zuletzt geändert: 2023/09/11 18:09 von ingo_wichmann