我们在使用linux时,经常会用到清理日志,那么就会用到查找日志的功能,下面我们通过几个例子来学习一下:
find命令
- 查询文件夹的最近一次访问是在180分钟之前的访问,找到后删除
find /data/logs/* -amin +180 -type d | xargs rm -rf
-
首先可查询权限分为:
a(访问/读取)
c(权限修改)
m(内容修改) -
其次查询时间可分为
time(天)
min(分钟)
举例
- 例如:按天来计算
- -mtime : 指定时间曾被改动过的文件,意思是文件內容被更改过
-mtime n // 对文件数据的最近一次修改是在 n*24 小时之前。
- -ctime : 指定时间曾被更改过的文件,意思是文件权限被更改过
-ctime n // 对文件状态的最近一次修改是在 n*24 小时之前。
- -atime : 指定时间曾被存取过的文件,意思是文件被读取过
-atime n // 对文件的最近一次访问是在 n*24 小时之前。
- 例如 按分钟来计算
- -mmin : 指定时间曾被改动过的文件,意思是文件內容被更改过
-mmin n // 对文件数据的最近一次修改是在 n 分钟之前。
- -cmin : 指定时间曾被更改过的文件,意思是文件权限被更改过
-cmin n // 对文件状态的最近一次修改是在 n 分钟之前。
- -amin : 指定时间曾被存取过的文件,意思是文件被读取过
-amin n // 对文件的最近一次访问是在 n 分钟之前。
定时执行
- 将其添加到crontab中,每30分钟执行一次
echo "*/30 * * * * root find /data/logs/* -amin +180 -type d | xargs rm -rf" >> /etc/crontab
网友评论