zoukankan      html  css  js  c++  java
  • Linux tmp目录自动清理总结

        在Linux系统中/tmp文件夹下的文件是会被清理、删除的,文件清理的规则是如何设定的呢? 以Redhat为例,这个主要是因为作业里面会调用tmpwatch命令删除那些一段时间没有访问的文件。

    那么什么是tmpwatch呢?其实tmpwatch是一个命令或者说是一个包。如下所示

    tmpwatch - removes files which haven’t been accessed for a period of time

    [root@DB-Server ~]# rpm -qa | grep tmpwatch
    tmpwatch-2.9.7-1.1.el5.5
    [root@DB-Server ~]# whereis tmpwatch
    tmpwatch: /usr/sbin/tmpwatch /usr/share/man/man8/tmpwatch.8.gz
    [root@DB-Server ~]# file /usr/sbin/tmpwatch 
    /usr/sbin/tmpwatch: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
    [root@DB-Server ~]# 

    image

    关于tmpwatch命令的参数,不同版本可能有所不同,下面以Red Hat Enterprise Linux Server release 5.7下TMPWATCH(8)为列

    作用:

    删除一段时间没有被访问的文件。

    参数:

    -u 按照文件的最后access时间,即最后访问时间为参考。默认选项。可通过ls -lu查看。

    -m 按照文件的最后modified时间,即最后修改时间为参考。可通过ls -l查看。

    -c 按照文件的-ctime时间做参考,ctime更新的条件为写入、更改属主、权限。可通过ls -lc查看。

    -M 按照目录的修改时间来删除目录而不是访问时间。

    -a 删除所有类型文件。包括目录和symbolic links

    -d --nodirs 排除目录文件,即使是空目录。

    -d --nosysmlinks 排除symbolic links类型文件。

    -f 强制删除那些root没有写权限的文件。比如root的readonly文件

    -q 只报告错误信息。

    -x /PATH 排除特定目录,即不删除该子目录里的文件。

    -U user_name 排除属于特定用户的文件,即不删除该用户的文件。

    -v 显示删除过程。默认是不显示删除了什么文件,直接删除的。

    -t 用于测试,并不真正删除文件,能显示出要删除文件的过程。

    -d 不删除文件里的子目录,但是子目录里面的文件还是会被删除。

    参数后加时间,默认是hours。也可以使用30d表示30天,但是有些版本只支持hours。 时间后是要检查的目录。可以多个目录用空格分开。如下所示表示720小小时~=30天。

    [root@DB-Server ~]#  more /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
    [root@DB-Server ~]# 

    如果你想将强制删除30天没有访问的文件改为7天,只需"/usr/sbin/tmpwatch "$flags" 720 /var/tmp"和"/usr/sbin/tmpwatch "$flags" -f 720 "$d" 里面的720改为189即可。

     
    转自:https://www.cnblogs.com/kerrycode/p/5759941.html
  • 相关阅读:
    1026 Table Tennis (30)
    1029 Median
    1025 PAT Ranking (25)
    1017 Queueing at Bank (25)
    1014 Waiting in Line (30)
    1057 Stack (30)
    1010 Radix (25)
    1008 Elevator (20)
    字母大小写转换
    Nmap的基础知识
  • 原文地址:https://www.cnblogs.com/javalinux/p/14474959.html
Copyright © 2011-2022 走看看