Cron-Job - Befehl löschen alle .flv Dateien jeden Tag
-
03-07-2019 - |
Frage
Ich habe diesen Befehl, dass ich jeden Tag über cron:
find /home/get/public_html/videos -daystart -maxdepth 0
-mtime +1 -type f -name "*.flv" |xargs rm -f
Das Problem ist, dass es nicht die .flv Dateien in einem Verzeichnis nicht löschen, die 1 oder mehr Tage alt.
Wie kann ich den oben genannten Befehl korrekt?
EDIT: Paul - der Befehl "ls -l / home / get / public_html / Videos" Ergebnisse in 2000+-Dateien, aber hier ist 2 von ihnen, die gelöscht werden sollen:
-rw-r--r-- 1 get get 3501188 Jan 4 15:24 f486cf0a2b6bb40e4c50c991785084131231104229.flv
-rw-r--r-- 1 get get 10657314 Jan 4 17:51 f5f1490ddaa11a663686f9d06fb37d981231112941.flv
Lösung
Es ist besser zu nutzen -print0 auf Entdeckung und -0 in xargs, falls eine Datei hat einen ungewöhnlichen Namen.
Außerdem mögen Sie -maxdepth 1 bis tatsächlich etwas in dem angegebenen Verzeichnis verwenden.
-maxdepth 0 bedeutet es nur in den in der Befehlszeile angegebenen Verzeichnisse findet, wird es nicht die Inhalte dieser Verzeichnisse überprüfen.
Andere Tipps
Sie meinen, wenn Sie ein Verzeichnis /home/get/public_html/videos/foo
hat es die Dateien nicht in sie löschen? Das wäre, weil Sie das -maxdepth 0
Argument gesetzt haben, die find
von Abstieg in Unterverzeichnisse verhindert.
-maxdepth 1