Loading

利用find实现自动清理过期文件

场景

某目录用于产生日志或临时交换文件,希望自动删除72小时之前的文件。

实现

利用系统自带的find命令根据修改时间对文件进行筛选并删除

find /var/log -type f -mtime +2 -delete

其中-mtime可以替换为-mmin以分钟为单位
注意这里有一个坑+x理解为>x的整数天
因此72小时应当描述为+2而非+3对应96小时
或增加-name *.log对文件名进行进一步限制

加强

将上述命令与crontab结合,实现自动清理

# m h  dom mon dow   command
0 * * * * find /var/log -type f -mtime +2 -delete

参考

find - Delete files older than X days + - Unix & Linux Stack Exchange
timestamps - Why does find -mtime +1 only return files older than 2 days? - Unix & Linux Stack Exchange

posted @ 2022-11-07 14:36  azureology  阅读(227)  评论(0编辑  收藏  举报