Linux中用定时任务清理文件
编写shell脚本
#!/bin/sh
#文件所在目录
file_path=/data/logs
#保留日志天数
rm_day=10
#查找目录
if [ ! -d "$file_path" ]; then
exit 0
fi
#执行删除,在 file_path 所在目录递归查找 rm_day 天前,以 .log 结尾的文件,并删除
find $file_path -type f -mtime +$rm_day -name "*.log" -exec rm -rf {} \;
在linux中新增定时任务
#使用crontab -e 命令编辑定时任务
crontab -e
#将以下脚本插入编辑器中,并保存
#0 1 * * * 每天凌晨1点执行
#/data/deletefile.sh 是删除文件shell脚本的绝对路径
0 1 * * * /bin/bash /data/deletefile.sh >/dev/null 2>&1
#表达式解析
| | | | ±- 周几 (0 - 6,0=周日)
| | | ±— 月份 (1 - 12)
| | ±----- 日期 (1 - 31)
| ±------- 小时 (0 - 23)
±--------- 分钟 (0 - 59)
所以0 1 * * * 就是每天1点0分执行一次。