diff options
Diffstat (limited to 'start')
-rw-r--r-- | start | 112 |
1 files changed, 35 insertions, 77 deletions
@@ -1,77 +1,35 @@ -#!/bin/sh - -# Athena自動再起動スクリプト -# -# [USAGE] ./start -# -# 既にAthenaを起動した状態では実行しないで下さい。 -# サーバーの状態を確認するスクリプトが動作するので、シェルに戻りません。 -# Athenaを止めたいときは Ctrl+C で終了してください。 -# -# もしくは ./start & としてバックグラウンドで起動すると -# シェルに戻ってきますが、サーバーの停止が少し面倒です。 - -L_SRV=./bin/login-server -C_SRV=./bin/char-server -M_SRV=./bin/map-server - -process_check() { - # check login server - if [ ! -f ${L_SRV}.pid ]; then - login=0 - else - login=`cat ${L_SRV}.pid` - login=$(ps ax | grep "${L_SRV}" | grep "${login}" | wc -l) - fi - - # check char server - if [ ! -f ${C_SRV}.pid ]; then - char=0 - else - char=`cat ${C_SRV}.pid` - char=$(ps ax | grep "${C_SRV}" | grep "${char}" | wc -l) - fi - - # check map server - if [ ! -f ${M_SRV}.pid ]; then - map=0 - else - map=`cat ${M_SRV}.pid` - map=$(ps ax | grep "${M_SRV}" | grep "${map}" | wc -l) - fi - - # echo "check: ${login} ${char} ${map}" - echo `expr ${login} + ${char} + ${map}` -} - -if [ `process_check` -ne 0 ]; then - echo "Athena is already running..." -else - ./athena-start start - sleep 30 - - while true - do - if [ `process_check` -lt 3 ]; then - printf "Error:" - date - sleep 10 - printf "Checking:" - date - if [ `process_check` -lt 3 ]; then - printf "Error Confirmation:" - date - printf "Restoration:" - date - ./athena-start restart - else - printf "Check Miss Sorry:" - date - fi - #else - # printf "Check OK:" - # date - fi - sleep 10 - done -fi +#!/bin/bash
+# modified by shazeya@syafi.com (NL130240)
+
+./athena-start start
+sleep 30
+
+while [ true ]; do
+ if [ " 0" = "$(ps | grep -e log | wc -l)" ] ||
+# if [ " 0" = "$(ps | grep -e login | wc -l)" ] ||
+ [ " 0" = "$(ps | grep -e char | wc -l)" ] ||
+ [ " 0" = "$(ps | grep -e map | wc -l)" ]; then
+ printf "Error:"
+ date
+ sleep 10
+ printf "Checking:"
+ date
+ if [ " 0" = "$(ps | grep -e log | wc -l)" ] ||
+# if [ " 0" = "$(ps | grep -e login | wc -l)" ] ||
+ [ " 0" = "$(ps | grep -e char | wc -l)" ] ||
+ [ " 0" = "$(ps | grep -e map | wc -l)" ]; then
+ printf "Error Confirmation:"
+ date
+ printf "Restoration:"
+ date
+ ./athena-start start
+ else
+ printf "Check Miss Sorry:"
+ date
+ fi
+# else
+# printf "Check OK:"
+# date
+ fi
+ sleep 10
+done
|