• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

How Files/Directories in /tmp gets Removed Automatically in CentOS/RHEL 5,6

by admin

If files/directories in /tmp have not been accessed for a long time, they may be removed automatically. “tmpwatch” cleans up the contents of /tmp or other temporary directories.

In most cases, tmpwatch removing files is safely ignorable as unused files should be removed from /tmp to free up file system space so the file system containing /tmp doesn’t fill over time.

However, if you strongly need to disable this function for some reason, despite the importance of tmpwatch in ensuring /tmp doesn’t cause a file system to fill, it is possible by uninstalling tmpwatch:

# rpm -e tmpwatch

or, alternatively, move/remove /etc/cron.daily/tmpwatch file in case the rpm package for tmpwatch can’t be removed, such as below:

# 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
#

Cleaning up un-accessed files in /tmp s a default function of package “tmpwatch”, which provides a cron job /etc/cron.daily/tmpwatch. This is a shell script kicked by crond daily, which checks /tmp, /var/tmp and several directories in /var/ and remove files/directories which have not been accessed for a long time.

For example, /etc/cron.daily/tmpwatch on CentOS/RHEL 5 shows:

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

which will remove files/directories that have not been accessed for 240 or 720 hours(=10 or 30 days).

/etc/cron.daily/tmpwatch on CentOS/RHEL 6 shows:

#! /bin/sh
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

which will remove files/directories that have not been accessed for 10 or 30 days.

Filed Under: CentOS/RHEL 5, CentOS/RHEL 6, Linux

Some more articles you might also be interested in …

  1. depmod: command not found
  2. How to persistently set nr_requests using UDEV rules
  3. setsebool: command not found
  4. How to add swap space in linux
  5. postfix Command Examples in Linux
  6. ncat: command not found
  7. hwclock Command Examples in Linux
  8. chkconfig Command Examples in Linux
  9. Beginners Guide to “journalctl” – How To Use Journalctl to View and Manipulate Systemd Logs
  10. Understanding the Network interface configuration file /etc/sysconfig/network-scripts/ifcfg-eth#

You May Also Like

Primary Sidebar

Recent Posts

  • raw: command not found
  • raw Command Examples in Linux
  • rankmirrors Command Examples in Linux
  • radeontop: command not found

© 2023 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright