logo

Suche:

RSS News/Blog
RSS Seiten

Alte Dateien + Verzeichnisse aus /tmp löschen

Standardmäßig wird in den meisten Linux-Distributionen und Unix-Derivaten das /tmp-Verzeichnis beim System-Neustart komplett geleert. Da ich aber ab und an Dateien in /tmp ablege, die ich für eine Weile (aber nicht für dauerhaft) brauche, gefällt mir dieses Verhalten nicht.

Lieber ist es mir, wenn Dateien, die ein bestimmtes Alter erreicht haben, gelöscht werden. Folgende Möglichkeiten setze ich dabei ein:

Ubuntu:

Bei Ubuntu, momentan meine Haupt-Distribution, geht es sehr leicht, dieses Verhalten zu beeinflussen. Vermutlich funktionert es bei anderen (Debian-basierten) Distributionen ähnlich.
In der Datei "/etc/default/rcS" gibt es eine Variable "TMPTIME", die nur anzupassen ist. Hier habe ich 60 Tage eingestellt:
TMPTIME=60

Andere Möglichkeit:

Unabhängig vom System sollte diese Variante immer funktionieren. Alte Dateien und Verzeichnisse werden mittels des Find-Befehls gesucht und dan gelöscht. Die folgenden Befehle können dann z.B. beim Systemstart oder täglich durch einen Cronjob ausgeführt werden um das TMP-Verzeichnis aufzuräumen.
Das Beispiel löscht erst alle Dateien, die älter als 60 Tage sind, aus dem /tmp-Verzeichnis. In der Zweiten Zeile sind dann die alten Verzeichnisse dran.

find /tmp -type f -mtime +60 -exec rm {} \;
find /tmp -type d -mtime +60 -exec rmdir -p {} \;

Natürlich muss man vorher noch das automatische Löschen des TMP-Verzeichnisses unterbinden, was wiederum sehr unterschiedlich sein kann.

Die Befehle eignen sich übrigens auch um andere Verzeichnisse auszumisten. Aber Vorsicht: nicht alles, was alt ist, will man auch löschen ;-)