Shell programming tmpwatch

Source: Internet
Author: User

Shell programming tmpwatch

As a system administrator, you often need to regularly clear files with certain rules, such as expired logs, expired archives, and backed up files.

If you use certain matching rules to find these files and pass them to the rm command, it is actually a little troublesome. At this time, you can try tmpwatch.

Tmpwatch

Purpose:

Delete files that have not been accessed for a certain period of time.

Parameters:

-U is based on the last access time of the file, that is, the last access time. You can view it through ls-lu.

-M: Based on the last modified time of the file, that is, the last modification time is the reference. You can view it through ls-l.

-C provides reference based on the file-ctime. The ctime update condition is write, change owner, and permission. You can view it through ls-lc.

-X/PATH: exclude specific directories, that is, do not delete files in this subdirectory.

-U user_name: exclude files belonging to a specific user, that is, the user's files are not deleted.

-V shows the deletion process. By default, objects deleted are not displayed.

-- T is used for testing. The process of deleting a file is displayed instead of deleting the file.

-D does not delete the subdirectories in the file, but the files in the subdirectories will still be deleted.

-F force delete the files whose root has no write permission. For example, the root readonly File

The parameter is followed by time. The default value is hours. Some articles say that 20 D can be used to represent 20 days. I have also seen this, but in rhel5.8, only hours is supported. You need to check the version.

The directory to be checked after the time. Multiple directories can be separated by spaces.

After understanding the parameter commands, let's take a typical example.

Tmpwatch-m-x/tmp/ceshi1-U oracle-v-t 2/tmp

The preceding command deletes files in the/tmp directory that have not been changed for more than two hours and are not belong to oracle users. Files in the/tmp/test1 subdirectory are excluded. The entire deletion process is displayed, and only tests are performed.

Linux uses this command to regularly clean up the/tmp directory.

Next, let's take a look at the/etc/cron. daily/tmpwatch file in rhel5.8.

 

[root@localhost tmp]# 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/tmpfor d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do    if [ -d "$d" ]; then        /usr/sbin/tmpwatch "$flags" -f 720 "$d"    fidone[root@localhost tmp]# 

This is the clearing rule. If you understand the syntax, you can learn it by yourself.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.