Skocz do zawartości
Zaloguj się, aby obserwować  
Gość bolek10

Skrypt crona

Polecane posty

Gość bolek10

Hej, mam problem, mianowicie chciałbym napisać skrypt który co 5 mnut by sprawdzał czy proces "serv.exe" działa, jeżeli nie to wykonuje polecenie "wine /home/ots/serv.exe"

Mam już taki skrypt ale to jeszcze nie to:

0-59/10 * * * * wine /home/ots/serv.exe /etc/cron.10min

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Najprościej sprawdzać czy port gada - lecz nie wiem czy w Tibii zawieszenie serwera zwalnia od razu port - to może być jeden z bugów tego skryptu choć pewności nie mam gdyż nie miałem dużej styczności z serwerami ots.

Musisz sprawdzić, jak nie to podobnie możesz zrobić sprawdzanie po pidzie tylko przy uruchamianiu serwera musiałbyś sobie tworzyć plik pid o ile sam serwer go nie tworzy.

 

#!/bin/bash
port=xxxx
exec="/skrypt/do/restartowania.sh"
check=`netstat -nlp|grep $port | wc -l`
if (( $check > 0 )); then
 echo "Serwer dziala"
else
echo "Serwer wyglada na uszkodzony - restartuje"
  $exec
fi

 

Proszę, napisane na poczakaniu lecz pownno działać smile.png

 

EDIT:

 

Nie doczytałem, że chciałeś sprawdzać czy proces istnieje. Nie jest to do końca najlepsze rozwiązanie gdyż zawieszenie serwera nie musi się równać z padnięciem procesu. Ale proszę:

 

#!/bin/bash
proces="serv.exe"
exec="/skrypt/do/restartowania.sh"
check=`ps aux |grep $proces | wc -l`
if (( $check > 0 )); then
 echo "Serwer dziala"
else
echo "Serwer wyglada na uszkodzony - restartuje"
 $exec
fi

 

Proste niezaawansowane skrypty ale zawsze możesz je udoskonalić jak będzie Ci czegoś brakowało smile.png

Edytowano przez www.gamebit.pl (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość bolek10

Najprościej sprawdzać czy port gada - lecz nie wiem czy w Tibii zawieszenie serwera zwalnia od razu port - to może być jeden z bugów tego skryptu choć pewności nie mam gdyż nie miałem dużej styczności z serwerami ots.

Musisz sprawdzić, jak nie to podobnie możesz zrobić sprawdzanie po pidzie tylko przy uruchamianiu serwera musiałbyś sobie tworzyć plik pid o ile sam serwer go nie tworzy.

 

#!/bin/bash
port=xxxx
exec="/skrypt/do/restartowania.sh"
check=`netstat -nlp|grep $port | wc -l`
if (( $check > 0 )); then
 echo "Serwer dziala"
else
echo "Serwer wyglada na uszkodzony - restartuje"
  $exec
fi

 

Proszę, napisane na poczakaniu lecz pownno działać smile.png

 

EDIT:

 

Nie doczytałem, że chciałeś sprawdzać czy proces istnieje. Nie jest to do końca najlepsze rozwiązanie gdyż zawieszenie serwera nie musi się równać z padnięciem procesu. Ale proszę:

 

#!/bin/bash
proces="serv.exe"
exec="/skrypt/do/restartowania.sh"
check=`ps aux |grep $proces | wc -l`
if (( $check > 0 )); then
 echo "Serwer dziala"
else
echo "Serwer wyglada na uszkodzony - restartuje"
 $exec
fi

 

Proste niezaawansowane skrypty ale zawsze możesz je udoskonalić jak będzie Ci czegoś brakowało smile.png

Dziękuję, nawet u was ten serwer stoi ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×