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