Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:tar [2014/09/29 08:12] ingo_wichmann [erweiterte Attribute, ACLs, Capabilities] | admin_grundlagen:tar [2025/03/27 12:23] (aktuell) | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== tar ====== | ====== tar ====== | ||
| - | Wichtige Optionen für tar: | + | ^ Hauptoptionen ^^^ | 
| - | | c | ''--create''  | tar Archiv erstellen | | + | | ''c'' | ''%%--create%%''  | tar Archiv erstellen | | 
| - | | x | ''--extract'' | tar Archiv auspacken | | + | | ''x'' | ''%%--extract%%'' | tar Archiv auspacken | | 
| - | | d | ''--diff''  | tar Archiv vergleichen | | + | | ''t'' | ''%%--list%%''  | tar Archiv anzeigen  | | 
| - | | f | ''--file''  | tar Archiv in angegebene Datei schreiben bzw. aus angegebener Datei lesen | | + | | ''d'' | ''%%--diff%%''  | tar Archiv vergleichen | | 
| - | | l | ''--one-file-system'' | keine Mountpoints sichern, bleibe auf dem Start-Dateisytem | | + | ^ weitere Optionen ^^^ | 
| - | | | ''--numeric-owner''  | Nicht die Namen, sondern die Nummern der Benutzer sollen gesichert werden. Notwendig bei der Sicherung des Kompletten Systems | | + | | ''f'' | ''%%--file%%''  | tar Archiv in angegebene Datei schreiben bzw. aus angegebener Datei lesen | | 
| - | | z | ''--gzip''  | gzip Komprimierung: geringere Komprimierung, nicht reparierbar bei Fehlern, geringer Rechenaufwand | | + | | ''l'' | ''%%--one-file-system%%'' | keine Mountpoints sichern, bleibe auf dem Start-Dateisytem | | 
| - | | j | ''--bzip2''  | bzip2 Komprimierung: höhere Komprimierung, größere Datensicherheit, mehr Rechenaufwand im Vergleich zu gzip | | + | | ''z'' | ''%%--gzip%%''  | gzip Komprimierung: geringere Komprimierung, nicht reparierbar bei Fehlern, geringer Rechenaufwand | | 
| - | ===== tar und gzip ===== | + | | ''j'' | ''%%--bzip2%%''  | bzip2 Komprimierung: höhere Komprimierung, größere Datensicherheit, mehr Rechenaufwand im Vergleich zu gzip | | 
| - | (( wird man in der Praxis so selten verwenden, nur um zu zeigen das //tar// und //gzip// zwei verschiedene Aufgaben erfüllen. )) | + | | ''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 | | ||
| - | Verzeichnis archivieren: | + | ===== Verzeichnis in lokales Archiv sichern ===== | 
| - | tar cf directory.tar directory/ | + | Verzeichnis ''/usr/share'' archivieren und komprimieren: | 
| - | Archiv komprimieren: | + | tar -caf share.tar.gz -C /usr share | 
| - | gzip directory.tar | + | |
| - | Archiv entpacken: | + | |
| - | gunzip directory.tar.gz | + | |
| - | Archiv ansehen: | + | |
| - | tar tf directory.tar | + | |
| - | Archiv auspacken: | + | |
| - | tar xf directory.tar | + | |
| - | + | ||
| - | ===== tar ===== | + | |
| - | Verzeichnis archivieren und komprimieren: | + | |
| - | tar czf directory.tgz directory/ | + | |
| komprimiertes Archiv ansehen: | komprimiertes Archiv ansehen: | ||
| - | tar tzf directory.tgz | + | tar -tf share.tar.gz | 
| komprimiertes Archiv auspacken: | komprimiertes Archiv auspacken: | ||
| - | tar xzf directory.tgz | + | tar -xf share.tar.gz | 
| - | ===== erweiterte Attribute, ACLs, Capabilities ===== | + | ===== Datensicherung über ssh ===== | 
| - | //testen, klappt evtl nur mit RH-Version und tar ab Version 1.27// | + | ==== Pull-Backup ==== | 
| + | user@server.lxht.de:/usr/share/ -> ./share.tar.gz | ||
| + | ssh user@server.lxht.de tar -czC /usr share > share.tar.gz | ||
| + | ++++ Alternativ mit zstd| | ||
| + | ssh user@server.lxht.de tar -cC /usr --zst share > share.tar.zst | ||
| + | ++++ | ||
| + | === Restore dazu === | ||
| + | ./share.tar.gz -> user@server.lxht.de:/home/user/share | ||
| + | ssh user@server.lxht.de tar -xz < share.tar.gz | ||
| + | ++++ Alternativ mit zstd| | ||
| + | ssh user@server.lxht.de tar -x --zst < share.tar.zst | ||
| + | ++++ | ||
| + | ==== Push-Backup ==== | ||
| + | /usr/share/ -> user@server.lxht.de:/home/user/share.tar.gz | ||
| + | tar -czC /usr share | ssh user@server.lxht.de 'cat > share.tar.gz' | ||
| + | ++++ Alternativ mit zstd| | ||
| + | tar -cC /usr share --zst | ssh user@server.lxht.de 'cat > share.tar.zst' | ||
| + | ++++ | ||
| + | === Restore dazu === | ||
| + | user@server.lxht.de:/home/user/share.tar.gz -> ./share | ||
| + | ssh user@server.lxht.de cat share.tar.gz | tar -xz | ||
| + | ++++ Alternativ mit zstd| | ||
| + | ssh user@server.lxht.de cat share.tar.zst | tar -x --zst | ||
| + | ++++ | ||
| - | //Todo: testen: muss das ''--selinux'' dabei sein? Bei CentOS/Redhat nur ''--xattrs'' statt ''--xattrs-include='*' ''?// | + | ===== Komplettsicherung eines Linux-Systems ===== | 
| - | tar c --selinux --acls --xattrs-include='*' /usr/bin/ping | ( tar x --selinux --acls --xattrs-include='*' -C /tmp ) | + | Systemverzeichnisse ermitteln: | 
| - | tar -cf - | ( cd somewhere; tar -x --selinux --acls --xattrs-include='*' -f - -C dst ) | + | df -hT -x tmpfs -x deftmpfs | 
| - | ((https://bugzilla.redhat.com/show_bug.cgi?id=771927)) | + | |
| + | Alle Systemverzeichnise auf Server sichern: | ||
| + | sudo tar c --xattrs --acls --xattrs-include='*' --numeric-owner --one-file-system / /boot /boot/efi | zstd | ssh nutzer45@notebook45 'cat > /mnt/backup.tar.zst' | ||
|  |  | ||
| - | ===== Sicherung mit tar auf Band ===== | + | ===== Grenzen von tar ===== | 
| - | + | * https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar | |
| - | Komplettsicherung eines Systems auf Band ( ''/dev/st0'' ), bei dem die Verzeichnisse ''/'' und ''/usr'' und ''/dev'' auf separaten Dateisystemen liegen: | + | |
| - | tar clf /dev/st0 --numeric-owner / /usr | + | |
| - | + | ||
| - | oder in Langform: | + | |
| - | tar --create --one-file-system --numeric-owner --file /dev/st0 / /usr | + | |
| - | + | ||
| - | + | ||
| - | Überprüfung der Sicherung: | + | |
| - | cd / && tar dlf /dev/st0 * | + | |
| - | + | ||
| - | 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 ====== | + | |
| - | 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' | + | |
| - | ((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' | + | |
| - | )) | + | |
| - | ====== Verzeichnisse kopieren mit sudo, tar und netcat ====== | + | |
| - | ===== Empfänger ===== | + | |
| - | netcat -l -s 172.16.240.155 -p 6666 | 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 xzP --directory /mnt/kopie | + | |
| - | )) | + | |
| - | ===== Sender ===== | + | |
| - | tar cPz --numeric-owner --directory /mnt/original . | nc -q0 -T reliability 172.16.240.155 6666 | + | |