it-swarm.com.de

Ordner mit tar komprimieren?

Ich versuche, einen Ordner (/var/www/) Auf ~/www_backups/$time.tar Zu komprimieren, wobei $time Das aktuelle Datum ist.

Das habe ich:

cd /var/www && Sudo tar -czf ~/www_backups $time"

Ich bin völlig verloren und bin jetzt schon seit Stunden dabei. Ich bin mir nicht sicher, ob -czf Richtig ist. Ich möchte einfach den gesamten Inhalt in /var/www In eine $time.tar - Datei kopieren und die Dateiberechtigungen für alle Dateien beibehalten. Kann mir jemand helfen?

298
qwerty

Für tar und gzip einen Ordner lautet die Syntax:

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

Der - Ist optional. Wenn Sie das aktuelle Verzeichnis tar _ möchten, verwenden Sie ., Um dies zu kennzeichnen.

Verwenden Sie zum Erstellen Ihres Dateinamens das Dienstprogramm date (die verfügbaren Formatoptionen finden Sie in der Manpage). Zum Beispiel:

cd /var/www && Sudo tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .

Dies hätte eine Datei mit dem Namen 20120902-185558.tar.gz Erstellt.

Unter Linux unterstützt Ihr tar wahrscheinlich auch die BZip2-Komprimierung mit der Option j anstelle von z. Und möglicherweise andere. Überprüfen Sie die Manpage auf Ihrem lokalen System.

412
Mat

Beispiele für die gängigsten Komprimierungsalgorithmen

Der Fragentitel hierfür lautet einfach "Ordner mit Teer komprimieren?" Da dieser Titel sehr allgemein gehalten ist, aber die Frage und die Antwort viel spezifischer sind und aufgrund der sehr großen Anzahl von Ansichten, die diese Frage angezogen hat, hielt ich es für vorteilhaft, eine aktuelle Liste von Beispielen für beide hinzuzufügen Archivieren/Komprimieren und Extrahieren/Dekomprimieren mit verschiedenen häufig verwendeten Komprimierungsalgorithmen.

Diese wurden mit Ubuntu 18.04.4 getestet. Sie sind für den allgemeinen Gebrauch sehr einfach, können jedoch mithilfe der Techniken in der akzeptierten Antwort und den hilfreichen Kommentaren oben leicht in die spezifischeren Frageninhalte des OP integriert werden.

Für das allgemeinere Publikum ist zu beachten, dass tar die erforderlichen Erweiterungen (wie .tar.gz) Nicht automatisch hinzufügt - der Benutzer muss diese explizit hinzufügen, wie in den folgenden Befehlen dargestellt:

# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball
tar cvf filename.tar *

# 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory
tar xvf filename.tar

# 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip
tar cvzf filename.tar.gz *

# 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory
tar xvf filename.tar.gz # Note: same options as 2 above

# 5: tar (create bzip2'ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2
tar cvjf filename.tar.bz2 * # Note: little 'j' in options

# 6: Untar (extract bzip2'ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory
tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above

# 7: tar (create xz'ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz
tar cvJf filename.tar.xz * # Note: capital 'J' in options

# 8: Untar (extract xz'ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory
tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above

Weitere Informationen finden Sie im tar Manpage (am besten man tar Auf Ihrem Computer verwenden). Im Folgenden fasse ich die oben verwendeten Optionen direkt auf der Manpage zusammen:

-c, --create
Ein neues Archiv erstellen

-x, --extract, --get
Dateien aus einem Archiv extrahieren

-v, --verbose
Liste der verarbeiteten Dateien ausführlich auf

-z, --gzip
Filtern Sie das Archiv durch gzip

-j, --bzip2
Filtern Sie das Archiv durch bzip2

-J, --xz
Filtern Sie das Archiv durch xz

-f, --file = ARCHIVE
Archivdatei oder Gerät ARCHIVE verwenden

Sie müssen weder - Vor den kombinierten Optionen noch das Zeichen = Zwischen der Option f und dem Dateinamen einfügen.

All dies habe ich aus meinem letzten Artikel erhalten, der weiter zu einem viel umfassenderen Artikel erweitert wird, da ich Zeit habe, daran zu arbeiten.

3
Xitalogy