想在服务器上写一个shell脚本,在磁盘使用率达到80%时,自动清理掉一些没有用的日志文件,根据这个想法,在生产环境上写了一个以下脚本,按照该流程,可实现在linux环境做一个定时任务来执行shell脚本,监控磁盘内存,当到达80%时,将自动清空catalina.out的日志文件。
1.进入到tomcat的bin目录执行以下操作:
#touch clearlog.sh
#vim clearlog.sh
#!/bin/bashmaxUsed=$(df -h|grep /dev/sda1|awk -F'[ %]+''{print $5}')val=80if [ "$maxUsed"-gt"$val" ];then cat /dev/null >/app/web/tomcat-8089/logs/catalina.out echo"clear success catalina.out end"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
参考:https://www.cnblogs.com/qfdxxdr/p/6380783.html