Entriegeln Sie mit Datumsfilter

0

Gibt es eine Möglichkeit, das Archiv zu entpacken und nur die Dateien zu extrahieren, die über einem bestimmten Datum liegen, einschließlich der Verzeichnisstruktur?

Ich habe ein Backup auf einem Play-Server wiederhergestellt, es war jedoch einige Tage alt. Ich habe jedoch ein tar-Archiv der gesamten Struktur, das aktueller und funktionsfähiger ist. Jetzt möchte ich alle Dateien (einschließlich der Verzeichnisstruktur) basierend auf einem Datumsfilter der Dateien extrahieren, wenn möglich.

Don
quelle

Antworten:

1

Wenn Sie nicht wissen, wie Sie mit tar etwas anfangen können, können Sie pax ausprobieren, das Sie sich als moderne Version von tar (und cpio) vorstellen können. Es kann das meiste tun, was tar tun kann (zumindest solange es keine Bandlaufwerke gibt), und seine Syntax leidet nicht unter jahrzehntelangem Krampf.

Insbesondere bietet pax a -T [from_date][,to_date] Option, so können Sie so etwas tun pax <backup.tar -r -pe -T 1006150000 um nur Dateien vom 15. Juni oder neuer zu extrahieren. Alternative, pax <backup.tar -r -pe -u werden keine Dateien extrahieren, deren Version im Archiv älter ist als die Version im Extraktionsverzeichnis.

Pax wird häufig nicht standardmäßig installiert, es sollte jedoch bei allen Linux-Distributionen vorhanden sein. Es ist von Single Unix spezifiziert und sollte daher auf allen Unix-Systemen und Unixy-Umgebungen wie Cygwin verfügbar sein.

Wenn Sie wirklich eine genaue Kontrolle wünschen, können Sie die Dateien an einem anderen Ort extrahieren und verwenden rsync 's erweiterte Möglichkeiten oder find um das zu kopieren, was Sie kopieren möchten (vielleicht mit pax -rw -pe...)

Gilles
quelle
0

Da ist ein --after-date Option und ein --newer-mtime Möglichkeit,
Ich kann mich jedoch daran erinnern, dass ich sie zum Archivieren und nicht zum Extrahieren verwendet habe.

nik
quelle