[ROZWIĄZANE] Auto Start TS3 - Skrypt w bas...
Najlepsza odpowiedź
Boomers
06.01.2016 19:14
Mała poprawa nie mogę edytować postu. Zrób tak.
#!/bin/bash TEAMSPEAK=`ps ax | grep ts3server_linux_amd64 | grep -v grep | wc -l` if [ $TEAMSPEAK != 0 ] then echo "Serwer jest nadal włączony" exit else cd /home/ts/serwer screen -AmdS ts ./ts3server_startscript.sh start echo "Włączam serwer" fiPrzejdź do postu
Indoor
06.01.2016
Siemka, posiadam VPS`a z systemem Debian 7 64bit postawiłem na nim serwer TS3 i posiadam skrypt napisany w bashu(?), że jak serwer dostanie crasha to sam wstaje, niestety mam z nim problemy bo wywala błędy a serwer nie wstaje a ja nie ogarniam basha(?) prosiłbym o pomoc ![]()
Skrypt:
#!/bin/bash cd /home/ts/serwer TEAMSPEAK = `ps ax | grep ts3server_linux_amd64 | grep -v grep | wc -l` if [ $TEAMSPEAK -eq 1 ] then exit echo "TS dziala" else screen -AmdS ts ./ts3server_minimal_runscript.sh restart echo "Wlaczanie TS`a..." fi
Błędy:
/home/ts/serwer/crash.sh: line 5: TEAMSPEAK: command not found /home/ts/serwer/crash.sh: line 13: unexpected EOF while looking for matching ``' /home/ts/serwer/crash.sh: line 15: syntax error: unexpected end of file
Boomers
06.01.2016
Zrób tak:
Otwórz plik rc.local
$ nano /etc/rc.loca
Dodaj przed exit 0
su ts3 -c '/home/ts3/serwer/ts3server_startscript.sh start'
Zamiast ts3 podaj nazwę twojego użytkownika. Pamiętaj nie uruchamiaj serwera ts jako użytkownik root.
Każdy restart vps'a będzie automatycznie uruchamiał twój serwer ts.
Jeśli dobrze zrozumiałem dokumentację ts'a skrypt ts3server_minimal_runscript.sh powinno uruchomić się tylko raz aby uzyskać token i dane do konta query. Poźniej robi się to za pomocą ts3server_startscript.sh
Użytkownik Boomers edytował ten post 06.01.2016 13:01
Indoor
06.01.2016
Ja nie chce przy starcie VPS`a, ale jak serwer dostanie crasha np. w środku dnia to po minucie serwer sam wstaje.
Boomers
06.01.2016
Rozumiem, skrypt będziesz uruchamiał z crona np. co 5 minut.
Skrypt ma sprawdzać czy proces jest uruchomiony. Jeśli tak ma kończyć swoje działanie. Jeśli natomiast proces jest nieaktywny, skrypt ma przejść do następnego warunku i uruchomić serwer ts.
Użytkownik Boomers edytował ten post 06.01.2016 13:13
Indoor
06.01.2016
Poradziłem sobie.
#!/bin/bash TEAMSPEAK=`ps ax | grep ts3server_linux_amd64 | grep -v grep | wc -l` if [ -z '$TEAMSPEAK'] then exit else cd /home/ts/serwer screen -AmdS ts ./ts3server_minimal_runscript.sh start fi
Tylko są małe błędy:
/home/ts/serwer/crash.sh: line 5: [: missing `]'
Użytkownik Indoor edytował ten post 06.01.2016 13:22
Boomers
06.01.2016
Sprawdź czy taka wersja działa.
#!/bin/bash TEAMSPEAK=`ps ax | grep ts3server_linux_amd64 | grep -v grep | wc -l` if [ -z '$TEAMSPEAK' ] then exit else cd /home/ts/serwer screen -AmdS ts ./ts3server_minimal_runscript.sh start fi
Użytkownik Boomers edytował ten post 06.01.2016 14:02
Indoor
06.01.2016
Działa, ale nie tak jak bym chciał, ponieważ nie ważne czy serwer TS3 działa czy nie, on i tak odpala "./ts3server_minimal_runscript.sh start" przez co w logach serwera TS3 jest MNÓSTWO plików .log z informacją, że został odpalony drugi serwer ale na tym samym porcie itp...między innymi chce się pozbyć tych własnie plików, żeby nie było ich
Boomers
06.01.2016
#!/bin/bash TEAMSPEAK=`ps ax | grep ts3server_linux_amd64 | grep -v grep | wc -l` if [ '$TEAMSPEAK' != 0 ] then echo "Serwer jest nadal włączony" exit else cd /home/ts/serwer screen -AmdS ts ./ts3server_startscript.sh start echo "Włączam serwer" fi
Nigdy nie pisałem skryptów w bash więc nie wiem czy działa on prawidłowo. Sprawdź i powiedz czy wszystko jest ok.
Najlepsza odpowiedź
Boomers
06.01.2016
Mała poprawa nie mogę edytować postu. Zrób tak.
#!/bin/bash TEAMSPEAK=`ps ax | grep ts3server_linux_amd64 | grep -v grep | wc -l` if [ $TEAMSPEAK != 0 ] then echo "Serwer jest nadal włączony" exit else cd /home/ts/serwer screen -AmdS ts ./ts3server_startscript.sh start echo "Włączam serwer" fi
radim
06.01.2016
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.Z pozdrowieniami,
Zespół AMXX.PL




