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

włączenie skryptu gdy w procesach go nie ma

Polecane posty

Siemka.

 

Istnieje jakiś sposób aby skrypt włączał się jeżeli go nie ma w procesie ? Chodzi mi o teamspeaka, czasami go wypierdziela i muszę go ręcznie włączać przez konsolę.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zobacz na program monit. Posiada dość rozbudowane opcje konfiguracji w jaki sposób ma sprawdzać aplikację czy działa i jak ją wzbudzać itd.

http://www.tecmint.com/how-to-install-and-setup-monit-linux-process-and-services-monitoring-program/

Edytowano przez HaPe (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

w bashu coś na wzór:

 

#!/bin/bash
while true do
<komenda uruchamiajaca serwer ts>
done

Za komende podstaw zawartosc z pliku startscript. Jak TS się wywali to pętla zrobi obrót i znowu włączy serwer. Ten skrypt włączasz w screenie i wszystko ok.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

w bashu coś na wzór:

#!/bin/bash
while true do
<komenda uruchamiajaca serwer ts>
done

Za komende podstaw zawartosc z pliku startscript. Jak TS się wywali to pętla zrobi obrót i znowu włączy serwer. Ten skrypt włączasz w screenie i wszystko ok.

 

Podoba mi się Twój pomysł zrobiłem to tak :

#!/bin/bash
# chkconfig: 2345 99 10
# description: Starts or Stops TeamSpeak 3 32 bit Server
# author: TJ Martin (1ee.pl)
# CentOS Linux release 6.0 (Final)
#
while true do
USER="root"
TS3='/home/ts3/ts3/'
STARTSCRIPT="$TS3/ts3server_startscript.sh"
cd $TS3
case "$1" in
'start')
su $USER -c "$STARTSCRIPT start query_port=24803"
;;
'stop')
su $USER -c "$STARTSCRIPT stop"
;;
'restart')
su $USER -c "$STARTSCRIPT restart"
;;
'status')
su $USER -c "$STARTSCRIPT status"
;;
*)
echo
done

Jak to teraz uruchomić w screenie ? screen -dms nazwapliku ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Boże... Przecież startscript odpala TS'a w tle...

 

 

 

#!/bin/bash

USER="ts3"

TS3="~/ts3"

 

while :; do

su "$USER" -c "$TS3/ts3server_minimal_runscript.sh >/dev/null 2>&1"

done

exit 0

I nie używajcie while true tylko while :;. while true przy każdej pętli wykonuje /bin/true, które zwraca exit code 0. : to bashowy odpowiednik funkcji pustej, która ma mniejszy overhead niż /bin/true.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Na stronie teamspeak jest skrypt bash który pozwala na start,stop,restart,status,update. Skorzystaj z niego wrzuć w cron sprawdzenie co 5min i masz max 5min przerwy w ts. Z automatu generuje ci crashlog. Bardzo przydatne bez zbędnego kombinowania.

Udostępnij ten post


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

I nie proponuję uruchamiać z root-a takich programów :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

I nie proponuję uruchamiać z root-a takich programów :)

 

Z użytkownika ts3 nie chce się uruchomić teamspeak a z roota od razu odpala :)

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ć  

×