Pokud soubory/adresáře v /tmp nebyly po dlouhou dobu přístupné, mohou být automaticky odstraněny. „tmpwatch ” vyčistí obsah /tmp nebo jiných dočasných adresářů jako /var/tmp. Vyčištění nepřístupných souborů v /tmp je výchozí funkcí balíčku „tmpwatch“, který poskytuje úlohu cron /etc/cron.daily/tmpwatch . Toto je shell skript spuštěný crond daily, který kontroluje /tmp, /var/tmp a několik adresářů ve /var/ a odstraňuje soubory/adresáře, ke kterým se dlouho nikdo nepřistupoval.
Například ukázkový konfigurační soubor /etc/cron.daily/tmpwatch na CentOS/RHEL 5 vypadá takto:
# 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
Výše uvedená konfigurace odstraní soubory/adresáře, ke kterým nebyl přístup 240 hodin (10 dní pro /tmp) nebo 720 hodin (30 dní pro /var/tmp).
Ukázkový konfigurační soubor /etc/cron.daily/tmpwatch na CentOS/RHEL 6 vypadá takto:
# 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
Výše uvedená konfigurace, která odstraní soubory/adresáře, ke kterým nebyl přístup po dobu 10 (/tmp) nebo 30 (/var/tmp) dnů.
Ve většině případů je odstranění souborů tmpwatch bezpečně ignorovatelné, protože nepoužívané soubory by měly být odstraněny z /tmp, aby se uvolnilo místo v systému souborů, aby se systém souborů obsahující /tmp časem nezaplnil.
Pokud však z nějakého důvodu tuto funkci nutně potřebujete deaktivovat, i přes důležitost tmpwatch pro zajištění toho, že /tmp nezpůsobí zaplnění souborového systému, můžete použít kteroukoli z níže popsaných metod.
Metoda 1 – Odstranění balíčku tmpwatch
Nejjednodušší způsob je odstranit samotný balíček tmpwatch:
# rpm -e tmpwatch
nebo
# yum remove tmpwatch
Metoda 2 – Zakažte položku cron tmpwatch
V některých případech nemusí být možné odstranit balíček tmpwatch kvůli závislostem, které má. Zobrazí se níže uvedená chyba:
# 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
Alternativně můžete také přesunout nebo odstranit soubor /etc/cron.daily/tmpwatch odpovědný za plánování odstranění souboru z /var/tmp a /tmp/directories.
# mv /etc/cron.daily/tmpwatch /other/location/tmpwatch.bkp
nebo
# rm /etc/cron.daily/tmpwatch