多语言展示
当前在线:888今日阅读:23今日分享:25

OpenShift宕机如何自动重启

OpenShift的服务器经常会出现周期性的维护,也有可能会小几率出现宕机的状态,一般情况下,你托管在上面的应用不会自动重新启动,需要你登陆后台管理界面或者通过ssh命令进行手动重启。问题是:你不知道到底什么时候服务器会宕机或者维护,所以最好的方法就是使用Cron计划任务来进行自动的检查,重启。
工具/原料
1

SFTP客户端

2

ssh

3

文本编辑器

方法/步骤
1

使用文本编辑器新建一个后缀名为sh的文件,例如:restart.sh。将下面的代码粘贴进去,保存。#!/bin/bash curl -I $OPENSHIFT_APP_DNS 2> /dev/null | head -1 |  grep -q '200\|301\|302' s=$? if [ $s != 0 ];thenecho "`date +"%Y-%m-%d %I:%M:%S"` down" >> $OPENSHIFT_DATA_DIR/web_error.loglet t=`date +"%M"`%10if [ $t -eq 0 ];thenecho "`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/nullecho "`date +"%Y-%m-%d %I:%M:%S"` restarted!!!" >> $OPENSHIFT_DATA_DIR/web_error.logfielseecho "`date +"%Y-%m-%d %I:%M:%S"` is ok" > $OPENSHIFT_DATA_DIR/web_run.logfi

2

将这个文件复制到app-root/repo/.openshift/cron/minutely目录,使用chmod 711 restart.sh命令或者使用WinSCP将其权限改为711。

3

不过,当你执行完上面的步骤后,会发现,这个脚本会不起作用,因为还有一个最重要的步骤没做,安装Cron服务。点击箭头所指的可用列表。

4

进入可用的Cartridges列表页,看到Cron1.4。进入后点击“Add Cartridg"来添加服务.

5

此时,这个自动化的脚本就可以运行了.

注意事项
1

注意shell脚本的编码

2

该任务设置为10分钟检查一次

3

您可以使用ssh或者进入后台停止应用来测试是否生效

推荐信息