Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Automatyczny restart serwera ET
Forum Serwisu: Polskie Centrum Enemy Territory > Problemy Techniczne z Enemy Territory > W:ET - Serwer
admin-ewro
Istnieje jakiś sposób na automatyczny restart serwera ET pod linuxem o okreslonej porze ,np. codziennie o 5 rano??
Szukałem na forum tego ale nie znalazłem.
conish
przy pomocy samego et nie. trzeba napisac skrypt w linuxie. ja sie nie podejmuje. w kazdym razie juz na poczatku trzeba by (chyba) stworzyc skrypt ktory uruchamia et...
Swiety
W unixie jest polecenie AT, które powoduje uruchomienie dowolnego procesu o określonej godzinie i dacie.(nawiasem mówiąc w Windowsie XP też jest).
Parametrem tego polecenia może być np skrypt który robi KILL danego procesu (np serwera) i następnie powołuje go do życia.
Ponadto w Unixie jest coś takiego jak CRONTAB. W skrócie można powiedzieć że pilnuje on aby program w nim umieszczony był zawsze uruchomiony, np po padnięciu kompa i resecie systemu aby automatycznie się załadował.
admin-ewro
czyli próżno szukac takiego skryptu na sieci- trzeba go samemu stworzyc.
Dzieki za informacje.
conish
Jesli Ci cos pomoze... wymyslilem, ze warto napisac to w c.
Program musi skladac sie z funkcji, ktora przechwytuje pid swojego potomka (get_pid) wywolywanego przez exec. Wylapujemy pid wrzucamy go (przez funkcje system) do funkcji podanej przez Swietego (at). Koniec petli smile.gif itd. ale to raczej krecia robota.
ajven
ja to bym zrobił to na chłopski rozum biggrin.gif
np
touch /etc/scrypty/restart_et
joe /etc/scrypty/resstart_et
QUOTE
#!/bin/sh
echo "Restart etded ... l) "
killall -kill eted.x86 # gdzie etded.x86 to nazwa procesu
/usr/sbin/etded # tutaj ścieżka do serwera et ;echo " done wink.gif "

potem chmod +x /etc/scrypty/restart_et
potem edytujesz wpisy w crontab:
echo 0 5 * * * /etc/scrypty/restart_et >> /etc/crontab
potem restartujesz crontab-a:
crontab /etc/crontab
I masz codzienny restart o 5 rano biggrin.gif
Mozna takie coś jeszcze o wiele bardziej rozbudować... ;-)
Jakies pytania to pisz...

POzdrawiam
p.s2
Po krótkim namyśle stwierdziłem że ładniej by było gdyby zarówno stop, restart jak start serwera był w jednym pliku. Dlatego napisałem taki scrypt:

CODE
#!/bin/sh
# created by ayV!en

echo "Użyj opcji start | restart | stop"

function koniec
{
    echo "Zamykanie etded"
    killall -kill etded.x86
    echo "done..."
}

function startuje
{
    cd "/usr/local/games/enemy-territory/" #scieżka tam gdzie jest zaintsalowany etded
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
    exec ./etded.x86 "$@" +set fs_game etpro +exec server.cfg # i jeszcze inne opcje
}

if [ "$1" == "restart" ];
then
koniec
delay 1
start
fi
if [ "$1" == "stop" ];
then
koniec
fi
if [ "$1" == "start" ];
then
startuje
fi

Oczywiście jeszcze:
ln -s [tutaj ścieżka do pliku ze scryptem] /usr/sbin/etded2
echo " 0 5 * * * etded2 restart" >> /etc/crontab
crontab /etc/crontab
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2026 Invision Power Services, Inc.