Jika file/direktori di /tmp sudah lama tidak diakses, mereka dapat dihapus secara otomatis. “tmpwatch ” membersihkan isi /tmp atau direktori sementara lainnya seperti /var/tmp. Membersihkan file yang tidak dapat diakses di /tmp adalah fungsi default paket “tmpwatch”, yang menyediakan tugas cron /etc/cron.daily/tmpwatch . Ini adalah skrip shell yang ditendang oleh crond daily, yang memeriksa /tmp, /var/tmp dan beberapa direktori di /var/ dan menghapus file/direktori yang sudah lama tidak diakses.
Misalnya, contoh file konfigurasi /etc/cron.daily/tmpwatch pada CentOS/RHEL 5 terlihat seperti di bawah ini:
# 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
Konfigurasi di atas akan menghapus file/direktori yang belum diakses selama 240 jam (10 hari untuk /tmp) atau 720 jam (30 hari untuk /var/tmp).
Contoh file konfigurasi /etc/cron.daily/tmpwatch pada CentOS/RHEL 6 terlihat seperti di bawah ini:
# 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
Konfigurasi di atas yang akan menghapus file/direktori yang tidak diakses selama 10 (/tmp) atau 30(/var/tmp) hari.
Dalam kebanyakan kasus, penghapusan file tmpwatch dapat diabaikan dengan aman karena file yang tidak digunakan harus dihapus dari /tmp untuk mengosongkan ruang sistem file sehingga sistem file yang berisi /tmp tidak terisi seiring waktu.
Namun, jika Anda sangat perlu menonaktifkan fungsi ini karena alasan tertentu, meskipun tmpwatch penting untuk memastikan /tmp tidak menyebabkan sistem file terisi, Anda dapat menggunakan salah satu metode yang dijelaskan di bawah ini.
Metode 1 – Menghapus paket tmpwatch
Cara termudah adalah dengan menghapus paket tmpwatch itu sendiri:
# rpm -e tmpwatch
atau
# yum remove tmpwatch
Metode 2 – Nonaktifkan entri cron tmpwatch
Dalam beberapa kasus, Anda mungkin tidak dapat menghapus paket tmpwatch karena dependensi yang dimilikinya. Anda akan mendapatkan kesalahan yang ditunjukkan di bawah ini:
# 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
Atau, Anda juga dapat memindahkan atau menghapus file /etc/cron.daily/tmpwatch yang bertanggung jawab untuk menjadwalkan penghapusan file dari /var/tmp dan /tmp/directories.
# mv /etc/cron.daily/tmpwatch /other/location/tmpwatch.bkp
atau
# rm /etc/cron.daily/tmpwatch