Wie verschiebe ich Dateien, die älter als X sind, in einen anderen Ordner?

14

Wie verschiebe ich Dateien, die älter als 30 Tage sind, vom Ordner /storage/current/dbdumps/in den Ordner /storage/archive/dbdumps?

Ich habe es versucht:

find /storage/current/dbdumps/ -type f -mtime +30 -exec mv '{}' /storage/archive/dbdumps \;

scheint aber in Ubuntu 11.04 ungültig.

Amir Ashkenazi
quelle
2
Was ist die Fehlermeldung?
Enzotib

Antworten:

15

Der Befehl scheint in Ordnung und in meinem 11.10 funktioniert es. Haben Sie den abschließenden Schrägstrich im Zielordner nicht übersehen?

find /storage/current/dbdumps/ -type f -mtime +30 -exec mv '{}' /storage/archive/dbdumps/ \;

Eine andere Sache, die Sie vielleicht versuchen, ist die Verwendung /bin/mvvon nur insted mv.

lpanebr
quelle
5

Sie können diese Version ausprobieren (funktioniert in 11.10, ich denke, es wird auch in anderen Versionen funktionieren :)):

find /storage/current/dbdumps/ -type f -mtime +30 -print | xargs -I {} mv "{}" /storage/archive/dbdumps
Salem
quelle
1
Sie sollten Zitat verwenden um {} nach mv, als Dateien oder keine Leerzeichen usw. enthalten kann ich geleitet , die Ergebnisse haben würde xargs -I{} mv "{}" /storage/archive/dbdumps/
Iesus Sonesson