一、 remove_logs.sh 脚本编写
bash
#!/bin/bash
#定义日志文件路径
LOG_DIR="/usr/local/src/cncareer-client/logs"
#删除超过2天的日志文件,即只保留近2天的日志
find $LOG_DIR -name "*.log" -type f -mtime +2 -exec rm -f {} \;
find $LOG_DIR -name "*.html" -type f -mtime +2 -exec rm -f {} \;
脚本解释:
-
find $LOG_DIR:在LOG_DIR目录下递归查找。 -
-name "*.log":文件名匹配*.log模式。 -
-type f:只匹配普通文件(不包括目录、链接等)。 -
-mtime +2:筛选修改时间(modification time)超过2天的文件。-
+2表示文件最后修改时间在 2×24小时之前 ,即至少是 3天前 修改的文件(严格来说是>2天)。 -
删除的是 修改时间距今大于2天(即3天及更早) 的文件
-
-
-exec rm -f {} \;:对每个匹配的文件执行rm -f强制删除(-f忽略不存在的文件且不提示确认)。{}被替换为当前文件路径,\;表示-exec命令结束。
二、赋予脚本执行权限
chmod +x remove_logs.sh
三、cron 自动化配置
crontab -e
bash
0 1 * * * /usr/local/src/cncareer-client/remove_logs.sh >/dev/null 2>&1
编辑保存
PS: 每日凌晨一点执行定时清理日志任务