重启tomcat,linux使用crond

原文地址:http://blog.csdn.net/kardelpeng/article/details/6755455#comments

 Tomcat重启脚本,可以在发布版本的时候避免手动运行shudown.sh和startup.sh脚本。有些朋友应该还遇到经常执行./shutdown.sh后,tomcat是stop了,但是java的jdk进程还在,这个时候我们就需要 通过 ps -ef|grep java来找到相应的进程ID,然后通过 kill -9 java的进程ID强制杀掉。 这个样步骤会让发布新的项目版本步骤繁琐。

     为此我自己些了个新的脚本tomcat_restart.sh

[plain]  view plain copy
  1. #!/bin/bash  
  2.   
  3. project_name=ipnms  
  4. tomcat_path=/home/ipnms/apache-tomcat-5.5/bin  
  5. pid=`ps -ef|grep $project_name|grep -v grep|awk '{print $2}' `  
  6. echo $pid  
  7.   
  8. if [ -n "$pid" ];  
  9.    
  10. then  
  11.    
  12. {  
  13.    
  14. echo "==========tomcat is start============"  
  15.    
  16. $tomcat_path/shutdown.sh  
  17.    
  18. sleep 5  
  19.    
  20. $tomcat_path/shutdown.sh  
  21.    
  22. sleep 15  
  23.    
  24. pid=`ps -ef|grep $project_name|grep -v grep|awk '{print $2}'`  
  25.    
  26. if [ -n "$pid" ];  
  27.    
  28. then  
  29.    
  30. {  
  31.    
  32. echo "======to kill the tomcat pid $pid========"  
  33.    
  34. kill -9 $pid  
  35.    
  36. sleep 3  
  37.    
  38. }  
  39.    
  40. fi  
  41.    
  42. echo "==========start tomcat============"  
  43.    
  44. $tomcat_path/startup.sh  
  45.    
  46. }  
  47.    
  48. else  
  49.    
  50. {  
  51.    
  52. echo "==========tomcat is stop=====start======="  
  53.    
  54. $tomcat_path/startup.sh  
  55.    
  56. }  
  57.    
  58. fi  

注意:project_name 就是我们通过 ps -ef|grep project_name 能得到单一的一个我们需要杀掉的因为tomcat而启动的java的jdk进程。

           tomcat_path就是我们在服务器上tomcat的bin目录的具体路径。

通过以上方法我们可以很方便的重启我们的tomcat。

 

如果想让tomcat定时重启,我们只需要把这个脚本放到linux的crontab下面。

具体命令

[root@LNServer bin]# crontab -e

0 2 * * *  /orabak/orabak.sh >> /orabak/crontab.log
0 7 * * * /orabak/cvs_bak/cvsbak.sh >> /orabak/cvs_bak/cvsbak.log
0 3 * * * /home/ipnms/apache-tomcat-5.5/bin/tomcat_restart.sh >> /home/ipnms/apache-tomcat-5.5/bin/tomcat_restart.log

 最后一个就是我们设置的定时任务,该任务会在每天的凌晨3点执行,并且会把相应的日志存在/home/ipnms/apache-tomcat-5.5/bin/tomcat_restart.log文件中。

保存后,我们可以输入crontab -l查看改任务是否呗放置到了 crontab.

启动定时服务:

[root@]# service crond stop

[root@]# service crond start

 

补充:

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

时程表的基本格式 :
*  *  *  *  *  program
分  时  日  月  周        命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

当第1列 为 * 时表示每分钟都要执行 program,第2列为 * 时表示每小时都要执行程式,其余类推
当第1列为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,第2列为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当第1列为 */n 时表示每 n 分钟个时间间隔执行一次,第2列 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当第1列为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,第2列 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值