Wenn auf Dateien/Verzeichnisse in /tmp längere Zeit nicht zugegriffen wurde, werden sie möglicherweise automatisch entfernt. „tmpwatch ” bereinigt den Inhalt von /tmp oder anderen temporären Verzeichnissen wie /var/tmp. Das Bereinigen nicht zugegriffener Dateien in /tmp ist eine Standardfunktion des Pakets „tmpwatch“, das einen Cron-Job /etc/cron.daily/tmpwatch bereitstellt . Dies ist ein täglich von crond gekicktes Shell-Skript, das /tmp, /var/tmp und mehrere Verzeichnisse in /var/ prüft und Dateien/Verzeichnisse entfernt, auf die lange Zeit nicht zugegriffen wurde.
Beispielsweise sieht eine Beispielkonfigurationsdatei /etc/cron.daily/tmpwatch auf CentOS/RHEL 5 wie folgt aus:
# cat /etc/cron.daily/tmpwatch flags=-umc /usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ -X '/tmp/hsperfdata_*' 240 /tmp /usr/sbin/tmpwatch "$flags" 720 /var/tmp for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" -f 720 "$d" fi done
Die obige Konfiguration entfernt Dateien/Verzeichnisse, auf die seit 240 Stunden (10 Tage für /tmp) oder 720 Stunden (30 Tage für /var/tmp) nicht zugegriffen wurde.
Eine Beispielkonfigurationsdatei /etc/cron.daily/tmpwatch auf CentOS/RHEL 6 sieht wie folgt aus:
# cat /etc/cron.daily/tmpwatch flags=-umc /usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ -X '/tmp/hsperfdata_*' -X '/tmp/.hdb*lock' -X '/tmp/.sapstartsrv*.log' \ -X '/tmp/pymp-*' 10d /tmp /usr/sbin/tmpwatch "$flags" 30d /var/tmp for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" -f 30d "$d" fi done
Die obige Konfiguration, die Dateien/Verzeichnisse entfernt, auf die seit 10 (/tmp) oder 30 (/var/tmp) Tagen nicht zugegriffen wurde.
In den meisten Fällen kann das Entfernen von Dateien durch tmpwatch sicher ignoriert werden, da nicht verwendete Dateien aus /tmp entfernt werden sollten, um Speicherplatz im Dateisystem freizugeben, damit sich das Dateisystem mit /tmp im Laufe der Zeit nicht füllt.
Wenn Sie diese Funktion jedoch aus irgendeinem Grund dringend deaktivieren müssen, obwohl tmpwatch wichtig ist, um sicherzustellen, dass /tmp kein Dateisystem füllt, können Sie eine der unten beschriebenen Methoden verwenden.
Methode 1 – Entfernen des tmpwatch-Pakets
Am einfachsten ist es, das tmpwatch-Paket selbst zu entfernen:
# rpm -e tmpwatch
oder
# yum remove tmpwatch
Methode 2 – Deaktivieren Sie den tmpwatch-Cron-Eintrag
In einigen Fällen können Sie das tmpwatch-Paket aufgrund der Abhängigkeiten, die es hat, möglicherweise nicht entfernen. Sie würden den unten gezeigten Fehler erhalten:
# rpm -e tmpwatch LANG=C rpm -e tmpwatch error: Failed dependencies: tmpwatch is needed by (installed) tetex-3.0-33.15.el5_8.1.x86_64 tmpwatch is needed by (installed) cups-1.3.7-32.el5_11.x86_64
Alternativ können Sie auch die verantwortliche Datei /etc/cron.daily/tmpwatch verschieben oder entfernen, um das Entfernen der Datei aus /var/tmp und /tmp/directories zu planen.
# mv /etc/cron.daily/tmpwatch /other/location/tmpwatch.bkp
oder
# rm /etc/cron.daily/tmpwatch