在工作做,项目里runtime目录下产生很多日志文件,需要定期去删除
记一次linux下清理过期日志的过程;
环境说明:删除/var/log/下7天以前的.log文件;
用到的命令:find、rm;
命令示例
find /data/www/runtime/log/ -mtime +7 -name "*.log" -exec rm {} \;
说明:
find :查找命令
/data/www/runtime/log/ :需要查找的文件路径
-mtime +7 :按文件更改时间来查找文件,-7指7天以内,+7指7天以前
-name “*.log” :你要查找的文件名,可用通配符
-exec :将find查到的文件执行command操作,{} 和 ;之间有空格
rm {} ; :需要执行的command操作
扩展示例
find ~ -name "*.txt" #在$HOME中查找找.txt文件并显示
find ./ -name "[A-Z]*" #查找找以大写字母开头的文件
find ./ -name "[a-z][a-z][0–9][0–9].txt" #查找找以两个小写字母和两个数字开头的txt文件
find ./ -type f -perm 755 #在当前目录查找找权限为755的文件
find ./ -type d -perm 755 #在当前目录查找找权限为755的目录
find ./ -perm 755 #在当前目录查找找权限为755的文件和目录
find ./ -perm 755 -type f -exec ls -l {} \; #查找找当前目录权限为755权限的文件并执行ls -l 命令
find ./ -type l #查找当前目录下的链接文件
find ./ -size +10 #查找长度超过期作废10块的文件(1块=512字节)
find /etc/ -name "passwd" -exec grep -i "user1" {} \;#查看user1用户是否存在
find ./ -name test* fprint file.txt #在当前目录下查找以test开头的文件,并把结果输出到file.txt中
find ./ -name ab* -o -name cd* #查找以ab或cd开头的文件
find /home -mtime -2 #在/home下查找最近两天内改动过的文件
find /home -atime -1 #查找1天之内被存取过的文件
find /home -mmin +60 #在/home下查找60分钟前改动过的文件
find /home -amin +30 #查找最近30分钟前被存取过的文件
find /home -newer tmp.txt #在/home下查找更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt #在/home下查找存取时间比tmp.txt近的文件或目录
find /home -user user1 #列出/home目录内属于用户user1的文件或目录
find /home -uid +501 #列出/home目录内用户的识别码大于501的文件或目录
find /home -group user1 #列出/home内组为user1的文件或目录
find /home -gid 501 #列出/home内组id为501的文件或目录
find /home -nouser #列出/home内不属于本地用户的文件或目录
find /home -nogroup #列出/home内不属于本地组的文件或目录
find /home -name tmp.txt -maxdepth 4 #列出/home内的tmp.txt 查找时深度最多为3层
find /home -name tmp.txt -mindepth 3 #从第2层开始查找
find /home -empty #查找大小为0的文件或空目录
find /home -size +512k #查找大于512k的文件
find /home -size -512k #查找小于512k的文件
find /home -links +2 #查找硬连接数大于2的文件或目录
find /tmp -name tmp.txt -exec cat {} \; #查找tmp下名为tmp.txt的文件并cat它
find /tmp -name tmp.txt -ok rm {} \; #查找tmp下名为tmp.txt的文件并删除它,-ok:删除前提示
find / -amin -10 #查找在系统中最后10分钟访问的文件
find / -atime -2 #查找在系统中最后48小时访问的文件
find / -group user1 #查找在系统中属于user1组的文件
find / -mmin -5 #查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user user1 #查找在系统中属于user1这个用户的文件