• 七角七分博客欢迎大家光临

OpenShift空间出现503自动重启脚本完整教程

常用技巧 七七 9年前 (2015-04-08) 0个评论

 

OpenShift的云主机会经常性的进行维护操作或者由于性能的原因出现503、502等错误,导致网站应用无法访问,一般来说,你可以登陆OpenShift的后台或者使用命令进行重启操作,但是甚为不便,要是能够让其自动检测到问题后自动重启应用,那就再好不过了。

 

方法1:
网上搜索了一下,有很多大同小异的自动重启的shell脚本,下面是无需修改的改进版脚本,使用了变量来代替你的应用的信息:

#!/bin/bash

curl -I $OPENSHIFT_APP_DNS 2> /dev/null | head -1 | grep -q ‘200\|301\|302’

s=$?

if [ $s != 0 ];
then
echo “`date +”%Y-%m-%d %I:%M:%S”` down” >> $OPENSHIFT_DATA_DIR/web_error.log
let t=`date +”%M”`%10
if [ $t -eq 0 ];
then
echo “`date +”%Y-%m-%d %I:%M:%S”` restarting…” >> $OPENSHIFT_DATA_DIR/web_error.log
/usr/bin/gear stop 2>&1 /dev/null
/usr/bin/gear start 2>&1 /dev/null
echo “`date +”%Y-%m-%d %I:%M:%S”` restarted!!!” >> $OPENSHIFT_DATA_DIR/web_error.log
fi
else
echo “`date +”%Y-%m-%d %I:%M:%S”` is ok” > $OPENSHIFT_DATA_DIR/web_run.log
fi

将其保存为restart.sh,并复制到app-root/repo/.openshift/cron/minutely目录,使用

chmod 711 restart.sh命令或者使用WinSCP将其权限改为711。

不过,当你执行完上面的步骤后,会发现,这个脚本会不起作用,网上的教程基本上没有告诉你还有一个最重要的步骤没做,安装Cron服务。安装成功后,等待10分钟手动停止应用。看是否能够成功重启!

方法2:

openshift每天都会维护,维护后应用需要重启,不然再访问就会503,需要手动进入后台重启应用,故用如下shell每天自动重启所有应用,每分钟检查一次,如果宕机每隔10分钟重启一次(防止频繁重启造成服务器压力过大)。

CSDN中的下载地址:https://www.qjqf.com/xz/ctl_all_restart.rar

将以上shell存入ctl_all_restart.sh中,放到/var/lib/openshift/你的用户名/app-root/repo/.openshift/cron/minutely/目录下,并赋执行权限。

chmod 711 ctl_all_restart.sh

喜欢 (1)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址