service.sh
monitor.shPHP Code:#! /bin/sh
while true
do
if (ps -ef|grep "monitor.sh"|grep -v grep>/dev/null)
then
sleep 2
else
date
cd $this_dir
nohup ./monitor.sh >/PWServer/authd.old/service.log 2>&1 &
sleep 5
fi
sleep 2
done
This script its 100% tested for bugs.PHP Code:#! /bin/bash
#CONFIGURATIONS:
#======MAPS======
MAPS=('gs01' 'is01' 'is02' 'is05' 'is06' 'is07' 'is08' 'is09' 'is10' 'is11' 'is12' 'is13' 'is14' 'is15' 'is16' 'is17' 'is18' 'is19' 'is20' 'is21' 'is22' 'is23' 'is24' 'is25' 'is26' 'is27' 'is28' 'is29' 'is31' 'is32' 'is33' 'is34' 'is35' 'is38' 'is39' 'is37' 'is40' 'arena01' 'arena02' 'arena03' 'arena04' 'bg01' 'bg02' 'bg03' 'bg04' 'bg05' 'bg06');
#======DAEMONS======
DAEMONS=('logservice' 'gamedbd' 'glinkd' 'gfactiond' 'gdeliveryd' 'uniquenamed' 'gacd' 'authd');
#=====================================Script=====================================
#
C_MAPS=44
while [ "ture" == "ture" ];
do
for i in ${MAPS[@]}
do
if (ps -ef|grep "$i"|grep -v grep >/dev/null)
then
err=$(expr $err + 0)
sleep 1
else
printf "$i: Is Dead And Gone! , Initiate the Startup process of $i....\n"
cd /PWServer/gamed/
nohup ./gs $i >/PWServer/logs/$i.log 2>&1 &
cd /root/
if (ps -ef|grep "$i"|grep -v grep >/dev/null)
then
printf "Map $i: Started Up!.\n"
printf "Program Timer Update:$(date). Number of Errors:$(expr $err - $C_MAPS).\n";
err=$(expr $err + 1)
else
printf "Map $i: is Still Down!.\n"
printf "Program Timer Update:$(date). Number of Errors:$(expr $err - $C_MAPS).\n";
err=$(expr $err + 1)
fi
sleep 1
fi
done
for r in ${DAEMONS[@]}
do
if (ps -ef|grep "$r"|grep -v grep >/dev/null)
then
err=$(expr $err + 0)
sleep 1
else
printf "$r: Is Dead And Gone! , Initiate the Startup process of $r....\n"
if [ "$r" = "glinkd" ]
then
cd /PWServer/$r
nohup ./$r gamesys.conf 1 >/PWServer/logs/$r.log 2>&1 &
nohup ./$r gamesys.conf 2 >/PWServer/logs/$r.log 2>&1 &
elif [ "$r" = "logservice" ]
then
cd /PWServer/build/
nohup ./$r >/PWServer/logs/authd.log 2>&1 &
elif [ "$r" = "authd" ]
then
cd /PWServer/$r/build
nohup ./$r >/PWServer/logs/$r.log 2>&1 &
else
cd /PWServer/$r
nohup ./$r gamesys.conf >/PWServer/logs/$r.log 2>&1 &
fi
if (ps -ef|grep "$r"|grep -v grep >/dev/null)
then
printf "DAEMON $r: Started Up!.\n"
printf "Program Timer Update:$(date). Number of Errors:$(expr $err - $C_MAPS).\n";
err=$(expr $err + 1)
else
printf "DAEMON $r: is Still Down!.\n"
err=$(expr $err + 1)
printf "Program Timer Update:$(date). Number of Errors:$(expr $err - $C_MAPS).\n";
fi
cd /root/
sleep 1
fi
done
done






