想在服务器上写一个shell脚本,在磁盘使用率达到80%时,自动清理掉一些没有用的日志文件,根据这个想法,在生产环境上写了一个以下脚本,按照该流程,可实现在linux环境做一个定时任务来执行shell脚本,监控磁盘内存,当到达80%时,将自动清空catalina.out的日志文件。
1.进入到tomcat的bin目录执行以下操作:
#touch clearlog.sh
#vim clearlog.sh
1 #!/bin/bash 2 maxUsed=$(df -h|grep /dev/sda1|awk -F'[ %]+' '{print $5}') 3 val=80 4 if [ "$maxUsed" -gt "$val" ];then 5 cat /dev/null 6 >/app/web/tomcat-8089/logs/catalina.out 7 echo "clear success catalina.out end" 8 fi
2.给脚本加上可执行权限:chmod 777 clearlog.sh
3.执行crontab –e
4.添加定时任务内容:
* * * * * /bin/bash /app/web/tomcat-8089/bin/clearlog.sh
完成以上即可。
5.最后执行#tail -500f /var/spool/mail/root可查看定时任务执行情况。
按照举一反三的学习态度,其他时间的定时任务设置,可参考以下内容:
1 实例1:每1分钟执行一次cmd 2 * * * * * cmd 3 4 实例2:每小时的第3和第15分钟执行 5 3,15 * * * * cmd 6 7 实例3:在上午8点到11点的第3和第15分钟执行 8 3,15 8-11 * * * cmd 9 10 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 11 3,15 8-11 */2 * * cmd 12 13 实例5:每周一上午8点到11点的第3和第15分钟执行 14 3,15 8-11 * * 1 cmd 15 16 实例6:每晚的21:30执行 17 30 21 * * * cmd 18 19 实例7:每月1、10、22日的4 : 45执行 20 45 4 1,10,22 * * cmd 21 22 实例8:每周六、周日的1 : 10执行 23 10 1 * * 6,0 cmd 24 25 实例9:每天18 : 00至23 : 00之间每隔30分钟执行 26 */30 18-23 * * * cmd 27 28 实例10:每星期六的晚上11 : 00 pm执行 29 0 23 * * 6 cmd 30 31 实例11:每一小时执行 32 0 */1 * * * cmd 33 34 实例12:晚上11点到早上7点之间,每隔一小时执行 35 0 23-7 * * * cmd