工作中遇到的问题,医院项目需要打印的日志信息比较多,每天的日志文件大概在500MB左右,打印将近两个月的日志信息,磁盘空间被占满之后,造成无法正常访问,需要编写脚本文件定时清楚日志信息。
1.创建.sh后缀文件,并且添加需要执行的命令。
touch auto_del_30_days_ago_log.sh
find /var/www/quitSmoking/log/ -mtime +30 -name "web-info-*.log" -exec rm -rf "{}" \;
在实际操作中,可以通过控制台进行测试。控制台顺利执行,在添加至文件。注意{}与\之间存在空格。
该指令分为两部分。
第一部分:find /var/www/quitSmoking/log/ -mtime +30 -name "web-info-*.log"。查询“find /var/www/quitSmoking/log/”目录下,超过30天的文件(“-mtime +30”),并且名称为“"web-info-*.log”。其中*为通配符。
2.将文件添加到定时任务中
编辑定时任务
crontab -e
新增任务
* 1 * * * sh /var/www/util/auto_del_30_days_ago_log.sh
解释:“* 1 * * * ”对应“分 时 日 月 周”,该设置为:每天1点执行“sh /var/www/util/auto_del_30_days_ago_log.sh”。
保存退出
:wq!
重启 “crond.service”服务
systemctl restart crond.service
查询定时任务列表信息
crontab -l