linux和windows定时执行程序(以tomcat定时清理日志和重启为例) - cytggit/Map-openlayers GitHub Wiki

  • LINUX

每天凌晨10分执行清理

  crontab -e
  > 10 0 * * * /home/SomeSH/del_catalina.sh
  service crond restart

del_catalina.sh如下:

  #!/bin/sh

  # delete /opt/java/tomcat7/logs/下5天前的logs
  find /opt/java/tomcat7/logs/ -mtime +5 -name "*201?*" -exec rm -rf {} \;

  # delete /opt/java/tomcat7_app/logs/下5天前的logs
  find /opt/java/tomcat7_app/logs/ -mtime +5 -name "*201?*" -exec rm -rf {} \;

  # 清空 /opt/java/tomcat7/logs/下的catalina.out
  echo " " > /opt/java/tomcat7/logs/catalina.out

  # 清空 /opt/java/tomcat7_app/logs/下的catalina.out
  echo " " > /opt/java/tomcat7_app/logs/catalina.out
  • WINDOWS

1、搜“任务计划程序”

2、创建基本任务(按需要设置、不需参数)

del_catalina.bat如下:

  @echo off
  rem 设置catalina.log 全路径+文件名
  set dellogpath=d:\111.txt
  rem 设置logs下带日期的日志的全路径
  set delbydate=d:\xxxxxxxx
  rem 设置tomcat的bin路径
  set tomcatpath=d:\****\bin

  rem 停止tomcat并休息10秒
  %tomcatpath%\catalina.bat stop
  ping 127.0.0.1 -n 10

  rem 清空catalina.log 和过期日志
  echo = > %dellogpath%
  forfiles /p %delbydate% /m *.* -d -7 /c "cmd /c del /f @path"

  rem 休息10秒后启动tomcat
  ping 127.0.0.1 -n 10
  %tomcatpath%\catalina.bat start