So erstellen Sie eine TAR-Datei in einem bestimmten Ordner aus einem anderen Ordner

So erstellen Sie eine TAR-Datei in einem bestimmten Ordner aus einem anderen Ordner

Hallo Leute, ich bin neu bei Linux.

Ich versuche, eine TAR-Datei aus einem anderen Verzeichnis zu erstellen und möchte sie in einem bestimmten Verzeichnis platzieren.

Ich habe dieses cmd ausprobiert

tar -cvf dailybackup.tar /root/filesfromlocalmachine/ -C /root/backup/

Es gibt einen Ordner mit dem Namen „pf Backup“ und ich möchte, dass das Tar dort erstellt wird. Aber jedes Mal, wenn ich dies ausführe, wird das Tar in dem Ordner erstellt, in dem ich den Befehl ausführe. Gibt es eine Möglichkeit, eine Tar-Datei aus einem anderen Ordner zu erstellen?

Antwort1

Ja, setze das Verzeichnis vor das "tar".

cd /
tar -cvf /where/to/put/it/dailybackup.tar root/backup/

und es wird ein Backup erstellt root/backup.

Ich würde vorschlagen, Backups immer mit einem relativen Pfad zu erstellen (wie ich ihn in meiner Antwort verwendet habe). Andernfalls könnten Sie das Ziel überschreiben, wenn Sie es woanders wiederherstellen und dann einen Vergleich mit der Backup-Version durchführen möchten.

Antwort2

Wenn tareine -COption auftritt, ändert sich das aktuelle Arbeitsverzeichnis. Alle nachfolgenden Optionen sind davon betroffen. Diese Option ist reihenfolgeabhängig.

./a:      ./b:
file001   file002

Wenn Sie beispielsweise mehrere -COptionen verwenden, ist die zweite Option -Crelativ zur ersten.

$ tar -vcf archive.tar.gz -C ./a . -C ../b .  
./  
./file001  
./  
./file002

Denn -Cder Eintrag [DATEI...] passt nicht an,Pfaderweiterung(... Globbing) funktioniert nicht. In Fällen, in denen Globbing erforderlich ist, --transformkann es jedoch verwendet werden.

$ tar -cvf archive.tar.gz \
    --show-transformed-names --transform='s:^./.*/::' ./[ab]/file00?
file001
file002

'--strip-components=<n>'kann außerdem verwendet werden, um bei der Extraktion führende Komponenten zu entfernen.

$ tar -vxf archive.tar.gz \
    --show-transformed-names --strip-components=2  
file001  
file002

verwandte Informationen