linux定时任务访问页面代替quartz集群_html/css_WEB-ITnose

WBOY
發布: 2016-06-24 11:58:18
原創
1197 人瀏覽過

业务背景:

web中经常有业务需要定时执行,但是在集群环境中,如果多个服务器中的定时任务同时开启的话会导致数据库挂掉,

实际应该中只有一个定时任务访问数据库。

怎么解决这一问题呢:

1、多服务器集群时,目录挂载。只有一台服务器存放定时任务,挂载时排除定时任务的配置文件,只让一台服务器开启定时任务。

2、单独部署一台服务器,用来跑定时任务

3、使用linux脚本,访问集群服务器页面或action,肯定有一台服务器接收到请求,然后执行定时。

这里要说的就是第3种方式,缺点是:被访问服务器的页面或action需要做安全限制。


首先,配置linux定时任务:

vi /etc/crondtab

                  <p class="sycode">                      <p class="sycode">       0 1 * * * root /dbdata/backup/cms/async.sh      </p>                  </p>
登入後複製

然后是async.sh中,如果请求出错就发邮件报警:

              <p class="sycode">                  <p class="sycode">      #!/bin/bash     </p>                  <p class="sycode">      Dir="/home/webtrn/CrontabDir"     </p>                  <p class="sycode">      echo `date +"%Y-%m-%d-%H-%M"` >> $Dir/checklearntime.log     </p>                  <p class="sycode">      wget -t1 http://www.baidu.com/checkserver/XXX.jsp -o $Dir/wgetchecklearntime.log     </p>                  <p class="sycode">      grep -q "404" $Dir/wgetchecklearntime.log || grep -q "302" $Dir/wgetchecklearntime.log     </p>                  <p class="sycode">      if [ $? != 0 ]; then     </p>                  <p class="sycode">      echo "checklearntime have done" >> $Dir/checklearntime.log     </p>                  <p class="sycode">      else     </p>                  <p class="sycode">      echo "checklearntime is error" >> $Dir/checklearntime.log     </p>                  <p class="sycode">      echo "checklearntime is error" | mail -s "webtrn" zhugaojian@whaty.com     </p>                  <p class="sycode">      echo "checklearntime is error" | mail -s "webtrn" jinqingwen@whaty.com     </p>                  <p class="sycode">      fi     </p>                  <p class="sycode">      rm -f XXX.jsp     </p>                  <p class="sycode">      rm -f $Dir/wgetchecklearntime.log     </p>              </p>
登入後複製

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板