openshift每天都會維護,維護後應用需要重啟,不然再訪問就會503,需要手動進入後台重啟應用。
故用如下shell每天自動重啟所有應用,每分鐘檢查一次,如果宕機每隔10分鐘重啟一次(防止頻繁重啟造成伺服器壓力過大)。
#!/bin/bash#配置你的Openshift ssh使用者名稱sshid=你的Openshift ssh使用者名稱 #指令碼運行部分,替換為你自己的應用curl -I movie.wgwxf.tk 2> /dev/null | head -1 | grep -q '200\|302's=$?if [ $s != 0 ];thenecho "`date +"%Y-%m-%d %I:%M:%S"` down" >> /var/lib/openshift/$sshid/app-root/data/web_error.log#分鐘%10 取餘let t=`date +"%M"`%10#每隔10分執行一次,防止連續多次重啟,伺服器壓力太大if [ $t -eq 0 ];then#重啟日誌疊加記錄>>,發現太大了可以刪除,或者改成覆蓋記錄>echo "`date +"%Y-%m-%d %I:%M:%S"` restarting..." >> /var/lib/openshift/$sshid/app-root/data/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!!!" >> /var/lib/openshift/$sshid/app-root/data/web_error.logfielseecho "`date +"%Y-%m-%d %I:%M:%S"` is ok" > /var/lib/openshift/$sshid/app-root/data/web_run.logfi
將以上shell存入ctl_all_restart.sh中,放到/var/lib/openshift/你的使用者名稱/app-root/repo/.openshift/cron/minutely/目錄下
賦執行許可權:
chmod 711 ctl_all_restart.sh
DONE!!!
:http://download.csdn.net/detail/wgwxf/6974319
轉載請註明出處http://blog.csdn.net/wgwxf/article/details/20132563!
另測試方法:
可以手動停掉應用,ctl_all stop,然後執行shell或到點後看看應用是否啟動。