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
, find
ignorieren jedoch die Bruchzeit bei der Berechnung der Tage. Stimmt also -mtime +1
mit einer Datei überein, wenn die letzte Änderung vor mindestens 2 Tagen vorgenommen wurde.
Zitat man find
, -mtime
hat 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 -mmin
Option find
zur Angabe der Zeit in Minuten in Betracht ziehen sollten .
Um es nach 3 Stunden regelmäßig auszuführen, können Sie einen cron
Eintrag hinzufügen .
Führen Sie Folgendes aus crontab -e
und fügen Sie Folgendes hinzu:
00 */3 * * * /usr/bin/find ~/tmp -type f -mtime +0 -delete
So zsh
entfernen Sie die Dateien:
rm ~/tmp/**/*(.-m+0)
Hinzufügen zu cron
:
00 */3 * * * /usr/bin/zsh -c 'rm ~/tmp/**/*(.-m+0)'