zz775520666 发表于 2017-1-19 10:38:20

shell 每天定时重启Tomcat

  由于Tomcat 被人杀掉于是写了脚本,每天自动重启。
  重启tomcat的脚本文件start_problem_tomcat.sh

#!/bin/sh
#kill tomcat pid
pidlist=`ps -ef|grep /bsm/bsm_ProblemManagement_Tomcat6.0|grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "no tomcat pid alive!"
else
echo "tomcat Id list :$pidlist"
kill -9 $pidlist
echo "KILL $pidlist:"
echo "service stop success"
fi
echo "start tomcat"
cd /bsm/bsm_ProblemManagement_Tomcat6.0
rm -rf work/*
cd bin
./startup.sh
  编写crontab 定时调度执行脚本
  #每天早上8点执行

crontab -e ##esit
* 8 * * *   ksh /bsm/shell_file/start_problem_tomcat.sh> /dev/null
  常用crontab命令
  crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数
  来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
  crontab -r : 删除目前的时程表
  crontab -l : 列出目前的时程表
  crontab file [-u user]-用指定的文件替代目前的crontab。
  基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令
  第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
  crontab文件的一些例子:
  30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
  10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。

_q7zIi 发表于 2017-1-19 22:35:32

可以用守护进程试试!
页: [1]
查看完整版本: shell 每天定时重启Tomcat