Ich habe einen Dateiserver. Ich muss Dateien sichern, die sich in einem bestimmten Zeitraum geändert haben.
Zuerst habe ich alles auf 4GB Dateien komprimiert und auf DVD gesichert. Aber 7z, die ich benutzt habe
7z a -t7z /home/user/myfiles051413_proj.7z /home/share/projects -v4000m -m0=bzip2 -mmt=4
scheint keine Möglichkeit zu haben, geänderte Dateien in den letzten 60 Tagen zu komprimieren, und ich bin nicht sicher, wie ich das an einen Befehl wie diesen weitergeben soll. Ich möchte nicht den gesamten Ordner komprimieren und sichern müssen, was bereits gesichert ist! (Platzverschwendung)
teer scheint damit gut zu funktionieren
find /home/share/projects -mtime -60
und das Einfügen in einen Befehl funktioniert auch, aber Leerzeichen geben mir Probleme. Hier ist der Befehl, den ich versuche, um Arbeit zu bekommen. Suche nach allen Dateien, die in den letzten 60 Tagen geändert wurden. Komprimieren Sie sie dann in 4 GB-Dateien.
find /home/share/projects/ -mtime -60 | xargs tar -cvML 4194304 -f /home/user/myfiles`date '+%d%m%Y'_proj.tar`
im moment läuft es noch eine weile und hat dann nur eine kleine datei drin. es druckt zahlreiche dateien auf dem bildschirm aus!
Ich habe mit -print0 gespielt
find /home/samba/shares/projects -mtime -60 -type f -print0| xargs tar -cvML 4194304 -f /home/samba/shares/bkup/`date '+%d%m%Y'_proj.tar` -T - --null
Ich bekomme eine ganze Menge tar: de: Kann nicht angeben: Keine solche Datei oder kein solches Verzeichnis
-print0
Option in find. (und ordne xargs -0 zu).-0
Option zuxargs
. Wenn Sie Informationen hinzufügen möchten, bearbeiten Ihre Frage. Dies ist kein Diskussionsforum. Wenn Sie eine Antwort hinzufügen, erwarten wir eine Lösung.Antworten:
Sie haben einen Fehler im letzten Skript mit -print0.
einfach xargs entfernen, da es nicht benötigt wird. Dies holt alle Dateien von stdin und setzt sie am Ende als Argumente an tar. dann bekommt tar-Option nichts auf sein stdin.
quelle