Linux tmpwatch命令
Linux tmpwatch命令
作为系统管理员,很多时候需要定期清理一定规则的文件,比如过期的日志,过期的归档,已备份的文件等等。
如果使用一定的匹配规则,找出这些文件,然后再传递给rm命令,其实是有点麻烦的,这时候可以试试tmpwatch。
tmpwatch
作用:
删除一定时间没有被访问的文件。
参数:
-u 按照文件的最后access时间,即最后访问时间为参考。可通过ls -lu查看。
-m 按照文件的最后modified时间,即最后修改时间为参考。可通过ls -l查看。
-c 按照文件的-ctime时间做参考,ctime更新的条件为写入、更改属主、权限。可通过ls -lc查看。
-x /PATH 排除特定目录,即不删除该子目录里的文件。
-U user_name 排除属于特定用户的文件,即不删除该用户的文件。
-v 显示删除过程。默认是不显示删除了什么文件,直接删除的。
--t 用于测试,并不真正删除文件,能显示出要删除文件的过程。
-d 不删除文件里的子目录,但是子目录里面的文件还是会被删除。
-f 强制删除那些root没有写权限的文件。比如root的readonly文件
参数后加时间,默认是hours。有些文章说可以使用20d表示20天,这个我也见过,但在rhel5.8中,只支持hours。应该需要看版本。
时间后是要检查的目录。可以多个目录用空格分开。
了解参数命令后,举一个典型的例子
tmpwatch -m -x /tmp/ceshi1 -U oracle -v -t 2 tmp
以上这个命令删除/tmp目录下超过两个小时没有被更改过且不属于oracle用户的文件,排除/tmp/test1子目录下的文件。显示整个删除过程,只做测试,不整整删除。
linux系统会使用这个命令来定时清理/tmp目录。
下面看下rhel5.8里的/etc/cron.daily/tmpwatch文件。
[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/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@localhost tmp]#
这就是清理规则。懂语法了可以自己学习下。
最新文章
- 数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇
- File类-文件基本操作
- Java内存回收机制
- [转]Win7下安装配置sharepoint server 2010
- Linux内核-模块编译和安装
- html公用库
- 【Android车载系统 News | Tech 2】News 谷歌开发新车载系统!安卓Auto不是终点 2014-12-20
- hdu 2955 Robberies 背包DP
- U3D 自带navmesh自动寻路教学
- Eclipse建筑物SSH(struts-2.2.3 + spring-2.5.6 + hibernate-3.6.8)相框-随着源代码
- 【原创】无线破解Aircrack-ng套件详解--airmon-ng与airodump-ng
- python爬虫---抓取优酷的电影
- Cause: dx.jar is missing
- 搭建本地maven库(nexus服务器)
- 定时任务BlockingScheduler
- django项目中在settings中配置静态文件
- OLED小记
- laravel 5.5 《电商实战 》辅助函数
- [LeetCode] 122. Best Time to Buy and Sell Stock II_Easy tag: Dynamic Programming
- 《官方资料》 例如:string 函数 、分组函数