Ich versuche, alle Dateien und Ordner in /tmp
zu löschen dir, die älter als ein Tag sind.
Ich weiß, dass ich alle Dateien und Ordner löschen muss, die ich tun muss
rm -rf *
Aber ich bin mir nicht sicher, wie ich sonst alle Dateien und Ordner finden kann, die älter als einen Tag sind, um sie zu löschen und den Cron einzufügen.
Akzeptierte Antwort:
Verwenden Sie zuerst find
um diese Dateien auszuwählen:
find /tmp -mmin +1440
findet Dateien, die vor mehr als 1440 Minuten geändert wurden. (Es gibt eine Option, Tage anstelle von Minuten zu verwenden, aber es wird aufgerundet und +1 bedeutet leider 2 Tage oder mehr. Siehe Hinweis unten).
Versuchen Sie dies, und wenn Sie zufrieden sind, dass dies die richtigen Dateien findet, löschen Sie sie auf einmal:
find /tmp -mmin +1440 -delete
Siehe man find
für andere Möglichkeiten (Zeit der letzten Statusänderung, Zugriffszeit).
Hinweis zur Verwendung von -mtime +1
:
In Mann finden
Da steht:
-mtime n
Die Daten der Datei wurden zuletzt vor n*24 Stunden geändert.
Aber es heißt auch:
Siehe die Kommentare für -atime
um zu verstehen, wie Rundungen die
Interpretation von Dateiänderungszeiten beeinflussen.
Die Kommentare für -atime
sagen:
Wenn find herausfindet, vor wie vielen 24-Stunden-Zeiträumen zuletzt
auf die Datei zugegriffen wurde, wird jeder Bruchteil ignoriert, um -atime +1 abzugleichen , auf eine
Datei muss vor mindestens zwei Tagen zugegriffen worden sein.
Mit anderen Worten, -mtime
kann nur in Einheiten von 24 Stunden oder einem Tag bis zu -mtime +1
gezählt werden geht, bedeutet dies genau mehr als einen Tag um mindestens einen Tag ( dh zwei Tage+ )
-mmin
andererseits kann in Minuten gezählt werden. Wenn es also auf absolute Genauigkeit ankommt, dann -mmin +1440
( 1440 Minuten =1 Tag ) könnte anstelle von -mtime +1
verwendet werden