场景:每月定时清理linux服务器上的日志,根据mtime来筛选文件。
find path -mtime +7 -name "gz"
find ./ -name “data” -mtime +1 当前目录下文件名包含data,而且修改时间在48小时以上的 find ./ -name “date” -mtime +2 当前目录下文件名包含data,而且修改时间在72小时以上的 find ./name “data” -mtime -1 当前目录下文件名包含data,而且修改时间在24小时以内的 find ./name “data” -mtime -2 当前目录下文件名包含data,而且修改时间在48小时以内的 find ./name “data” -mtine 1 当前目录下文件名包含data,而且修改时间在1天前当天的,也就是24小时以上,48小时以内
脚本如下,清理/home/wjz/dirs目录下,30天以上的文件
#!/bin/bash
echo 'log cleaning begin : 'date +%F_%T
dir='/home/user1'
files=find $dir -mtime +30 |xargs -l
echo ""
echo "----------files
do
if [ -f "file
fi
done
echo 'log cleaning end : 'date +%F_%T
ctime---change time,改变文件用户、权限等属性的时间
mtime ---modify time,改变文件内容的时间
atime --- access time ,访问文件的时间
通过crontab设置
*/1 * * * * nohup sh /root/tmp.sh >> /root/tmp.log