• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

tar Problem

Hallo Leute.

Wie kann ich mit dem Kommando find und tar Dateien suchen die ich vor n Tagen geändert habe. Diese dann mit tar, über eine pipeline, in ein Archiv schreiben, welches anschließend komprimmiert wird?

Danke in vorraus!
 
A

Anonymous

Gast
last_modded=$(find / -ctime 2)
compress=$(tar -cvjf zuletzt_geändert.tar.bz2 $last_modded)
$compress && echo "Dateien, die in den letzten 2 Tagen geändert wurden, in Datei zuletzt_geändert.tar.bz2 geschrieben!"


oder so ähnlich :D :shock:
 
A

Anonymous

Gast
Tar arbeitet bei der Standarteingabe nicht unmittelbar zusammen, aber mit einige Tricks gehts natürlich auch.
Code:
 tar -cO $(find . -mtime -2 -print )  | gzip > test.tar.gz
Aber hier wird dann noch ersichtlich das find auch einige Eigenarten hat.
mit ls erstellte Listen würden funktionieren aber mit find erhalte ich hier doppelte und falsche Einträge.
Also weichen wir doch mal auf ein Programm aus, das auch tar files erstellen kann und prima mit Pipes zusammenarbeitet.
Code:
 find . -mtime -2 | cpio -ovH ustar | gzip > test.tar.gz

aber hier ist zu beachten.
The tar format is provided for compatability with the tar
program. It can not be used to archive files with names
longer than 100 characters, and can not be used to archive
"special" (block or character devices) files. The POSIX.1
tar format can not be used to archive files with names
longer than 255 characters (less unless they have a "/" in
just the right place).

Aber warum denn alles so kompliziert ???? tar kann ja alles selbst.
Code:
 tar -cz --newer-mtime "2005-05-04 00:00" -f test.tar.gz *

(alle Beispiele hier würden die Dateien im aktuellen Verzeichniss bearbeiten und eine File im selben Verzeichniss anlegen. ????? )
man tar und info tar helfen weiter

robi
 
A

Anonymous

Gast
robi schrieb:
Aber warum denn alles so kompliziert ???? tar kann ja alles selbst.
Code:
 tar -cz --newer-mtime "2005-05-04 00:00" -f test.tar.gz *
dat is fein....sehr fein
 
Oben