Tar-Verzeichnis zur Datei in dem Tar-Verzeichnis

1462
Janus Troelsen

Ich habe einen Einhängepunkt, /media/xvdf1die ich bindfsbei Montage /var/lib/jenkins/jobsmit Benutzer / Gruppe jenkins. Ich möchte es unterstützen, aber ich habe nicht genügend Platz auf der anderen Partition. Nach dem Teering sollte die Datei mit in S3 hochgeladen werden aws s3 cp.

Mein Problem ist, dass ich, wenn ich tar zum Erstellen des Archivs verwende, versucht, die Datei zu tarnen, in die es schreibt.

Gibt es nicht einen Weg, den Teer zu vermeiden, seinen eigenen Output zu tarieren?

0

2 Antworten auf die Frage

2
Eric Renouf

Sie können es verwenden, --exclude=patternwenn Sie müssen, obwohl ich nicht sicher bin, wie Sie das tun, wo Sie dies tun müssen.

Folgendes ausführen:

tar -cf test.tar . 

Ich erhalte die Nachricht:

tar: ./test.tar: file is the archive; not dumped 

aber das ist vielleicht nur eine GNU-Erweiterung, obwohl meine BSD-Version ein ähnliches gibt

tar: ./test.tar: Can't add archive to itself 

Trotzdem könnte man es explizit sagen, um es mit zu ignorieren

tar -cf test.tar --exclude=./test.tar . 
Der Grund, warum das Problem nicht erkannt wird, liegt wahrscheinlich am bindfs-Mount. Janus Troelsen vor 7 Jahren 0
1
Zhuoer Dong

Ich habe auch ein ähnliches Problem.

Das kann im Beispiel so aussehen

tar -cf test.tar . 

Sie bitten tarum Archivierung .und tarerstellen eine "leere" Datei test.tar, um den Inhalt zu speichern. Aber der Punkt ist, dass test.tarauch ein Teil des Verzeichnisses ist .. Es sieht ein bisschen wie unendlich rekursiv aus. Wie auch immer, tarscheint ziemlich klug zu sein und das zu verhindern, da es in den meisten Fällen nicht das ist, was Sie wollen.

Neben der Verwendung --exclude, können Sie auch versuchen ,

tar -cf test.tar ./* 

Auf diese Weise müssen Sie tar(fast) alle Dateien archivieren, . bevor der Befehl ausgeführt wird. Beachten Sie, dass dies test.tarnicht enthalten ist.