tmpwatch使用

tmpwatch有如下已知的参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-u, --atime     基于访问时间来删除文件,默认的。
-m, --mtime 基于修改时间来删除文件。
-c, --ctime 基于创建时间来删除文件,对于目录,基于mtime。
-M, --dirmtime 删除目录基于目录的修改时间而不是访问时间。
-a, --all 删除所有的文件类型,不只是普通文件,符号链接和目录。
-d, --nodirs 不尝试删除目录,即使是空目录。
-d, --nosymlinks 不尝试删除符号链接。
-f, --force 强制删除。
-q, --quiet 只报告错误信息。
-s, --fuser 如果文件已经是打开状态在删除前,尝试使用“定影”命令。默认不启用。
-t, --test 仅作测试,并不真的删除文件或目录。
-U, --exclude-user=user 不删除属于谁的文件。
-v, --verbose 打印详细信息。
-x, --exclude=path 排除路径,如果路径是一个目录,它包含的所有文件被排除了。如果路径不存在,它必须是一个绝对路径不包含符号链接。
-X, --exclude-pattern=pattern 排除某规则下的路径。

这里歧义较大的是-x和-X的区别
其实很简单,这2个都是排除,但是-x 只能是目录和文件。而-X 可以使用*号这些来进行匹配

而删除时间里,默认是小时,而如果是天数的话就要加上 d, 比如10d就是10天这样的。

实在不放心的可以用-t 参数先测试下。

个人感觉使用tmpwatch比你自己写find会安全很多。