Verwenden von find:
find ~/tmp -type f -mtime +0 -delete
~/tmp Soll das Verzeichnis rekursiv durchsucht werden, ändern Sie dies entsprechend
-type f sucht nur nach Dateien
-mtime +0 Dies entspricht einer Datei, wenn sie vor einem Tag oder später zuletzt geändert wurde
-delete entfernt nur die übereinstimmende (n) Datei (en)
Hier ist der Haken -mtime +0, die meisten denken vielleicht über die Verwendung nach -mtime +1, findignorieren jedoch die Bruchzeit bei der Berechnung der Tage. Stimmt also -mtime +1mit einer Datei überein, wenn die letzte Änderung vor mindestens 2 Tagen vorgenommen wurde.
Zitat man find, -mtimehat die gleiche Timing-Konvention wie -atime:
-Zeit n
Auf die Datei wurde zuletzt vor n * 24 Stunden zugegriffen. Wenn ermittelt wird, wie viele 24-Stunden-Zeiträume vor dem letzten Zugriff auf die Datei vergangen sind, wird jeder Bruchteil ignoriert. Um also mit -atime +1 übereinzustimmen, muss vor mindestens zwei Tagen auf eine Datei zugegriffen worden sein.
Beachten Sie auch, dass Sie, wenn Sie Präzision wünschen, die -mminOption findzur Angabe der Zeit in Minuten in Betracht ziehen sollten .
Um es nach 3 Stunden regelmäßig auszuführen, können Sie einen cronEintrag hinzufügen .
Führen Sie Folgendes aus crontab -eund fügen Sie Folgendes hinzu:
00 */3 * * * /usr/bin/find ~/tmp -type f -mtime +0 -delete
So zshentfernen Sie die Dateien:
rm ~/tmp/**/*(.-m+0)
Hinzufügen zu cron:
00 */3 * * * /usr/bin/zsh -c 'rm ~/tmp/**/*(.-m+0)'