zhujiqian

想在服务器上写一个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

clipboard

4.添加定时任务内容:

* * * * * /bin/bash /app/web/tomcat-8089/bin/clearlog.sh

image

完成以上即可。

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


分类:

linux

技术点:

相关文章: