阿里云的ubuntu系统上重启Tomcat的Crontab定时任务

最近发现,Java客网站上的Tomcat服务器经常无故停掉,所以今天参考网上的资料写了一个重启Tomcat的脚本并设置了crontab定时任务,重启脚本如下:

   #!/bin/sh

. /etc/profile

pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo $pid

if [ -n "$pid" ]
then
{
   echo ===========shutdown================
   /opt/tomcat/bin/shutdown.sh
   sleep 1 
   pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`
   if [ -n "$pid" ]
   then
    {
      sleep 1 
      echo ========kill tomcat==============  
      kill -9 $pid
    }
   fi
   sleep 1
   echo ===========startup.sh==============
   /opt/tomcat/bin/startup.sh
 }
else
echo ===========startup.sh==============
/opt/tomcat/bin/startup.sh

fi


脚本写好了,要登录阿里云的ubuntu把代码配置上一个crontab的定时任务。步骤如下:


1)使用crontab -e 命令进入编辑crontab脚本。

这里有个小插曲,第一次输入crontab -e的时候,会提示提醒选择编辑器,一开始我选择了nano编辑器,后来一直以为没法输入crontab脚本。后来找到办法,原来是编辑器问题,需要用sudo select-editor命令重新选择vim编辑器就ok了。

下面稍微解释下crontab中每行的含义。crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:

分钟          0 - 59
小时          0 - 23
天              1 - 31
月              1 - 12
星期          0 - 6       0表示星期天

除了这些固定值外,还可以配合星号(*),逗号(,),和斜线(/)来表示一些其他的含义:

星号          表示任意值,比如在小时部分填写 * 代表任意小时(每小时)

逗号          可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟

斜线          一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 */2 代表每隔两分钟。所以 */1 和 * 没有区别

                  */2 可以看成是能被2整除的任意值。

我的crontab脚本如下,供大家参考:

30 04 * * * /home/ftp_files/restart.sh
每天凌晨4点30分,执行重启tomcat脚本。

2)wq退出保存crontab脚本,然后使用crontab -l 命令可以查看刚刚设置的定时任务。

3)重启crontab任务:

 /etc/init.d/cron restart

4)到此,大功告成啦!以后妈妈再也不用担心Tomcat挂掉了,哈哈!

发布了41 篇原创文章 · 获赞 8 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/ericxu1116/article/details/22582293