![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, zakupiłem ostatnio VPS i potrzebuje zrobić panel do zarządzania serwerem SA-Mp.
Znalazłem w sieci jeden panel serwera więc postanowiłem wyciąć z niego funkcję reset, lecz mam z nią problem ponieważ nie działa a jako że ja nie znam za bardzo się na CMD Shell wiec nic nie jestem w stanie zrobić. Plik restart.php: Kod <? $path = "/var/www/"; echo 'Serwer zrestartowany!'; system(''.$path.'control.sh restart >/dev/null'); ?> Plik control.sh: Kod #!/bin/bash server_start() { /var/www/123sam.sh & # put in full path and name of startup script } server_stop() { killall 123sam.sh # your startup script name killall samp02Xsvr # need to put in path to killall if its not in $PATH } server_restart() { server_stop sleep 3s server_start } case "$1" in 'start') server_start ;; 'stop') server_stop ;; 'restart') server_restart ;; *) echo "Usage $0 start|stop|restart" esac Plik 123sam.sh: Kod #!/bin/bash while true; do if pgrep samp02Xsvr &>/dev/null; then echo Blad - Duplikacja procesu! exit else cd /root/samp02X/ ./samp02Xsvr fi sleep 15m done Katalogi są w porządku i wszystko lecz nie wiem dlaczego to nie działa ![]() ![]() Lub jeśli posiada ktoś komendę na restart serwera prosił bym ![]() PS dopowiem ze tych serwerów będzie kilka a więc restart po nazwie nic nie da... Pozdrawiam ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
a nie wystarczy w pliku .sh wpisać reboot -parametry
![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
pgrzelka, tak jak napisałem jestem zielony jeśli chodzi o funkcje Shell.
Mógł bym prosić o jakiś przykład z użyciem reboot -parametry ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
PHP ma w ogóle prawo do restartu serwera
![]() -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumie Cie, posiadam własny vps chce na nim postawić serwer samp, chce umieć ten serwer samo wyłączyć i włączyć od razu przez stronę www, czyli chce po prostu go zrestartowac aby nowe ustawienia na serwerze samp zostały wprowadzone
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
1) VPS (Virtual Private Server) jest to jakaś wirtualna maszyna ma zainstalowany jakiś system (jaki ?)
2) Serwer który chcesz resetować przez WWW, działa ci obecnie na tej maszynie ? 3) W jakiś sposób nią zarządzasz w jaki? na razie tyle ![]() Ten post edytował okitoki 21.05.2009, 21:23:42 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
1. Dembian linux 5.0
2. Tak jest to serwer samp. 3. Przez ten panel chce aby można było wyrywać mapy, mam to zrobione. Chce aby można było edytować plik config też zrobione. Chce też aby można było ten serwer zrestartowac aby nowe ustawienia się zapisały. Czyli chce "zabić'' proces a następnie włączyć ten proces spowrotem. Lecz nie wiem jak zamknąć ten proces, standardowo służy do tego cms kill -9 id_procesu lecz go się nie da pobrać. Ja nie widzę takiej opcji ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
z poziomu www będzie problem z zabiciem procesu, ponieważ musiał byś dać serwerowi uprawnienia administratora, co nie jest dobrym rozwiązaniem ponieważ możesz stracić panowanie nas serwerem. wiec zostaje skrypt bash-owy( lecz nie może go uruchamiać bezpośrednio PHP, tylko np cron) lub połączenie przez np ssh co powinno ci umożliwić działania jako root.
zaraz to potestuje, u siebie na serwerku, Ten post edytował okitoki 21.05.2009, 21:42:34 -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na górze podałem przykład zabicia procesu lecz niestety nie działa. Istnieje funkcja system przez która można wykonać komendę na serwerze lecz niestety nie wiem jak sprecyzować ta komendę.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
ja zadam lepsze pytanie, czy ten panel co znalazłeś, czy mu działa restart? Jeśli tak, to nie wyciągłeś pewnie całości
![]() -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
ja zadam lepsze pytanie, czy ten panel co znalazłeś, czy mu działa restart? Jeśli tak, to nie wyciągłeś pewnie całości ![]() bim przetłumacz to na polski, a co do restartu to mu nie działa, i nie powinien działać bo to nie ten poziom uprawnień killall 123sam.sh # your startup script name killall samp02Xsvr # need to put in path to killall if its not in $PATH to powinno zabić ten proces z tego skryptu, zobacz czy ogólnie ten skrypt ci działa z shell-a, na uprawnieniach tych co masz. jak nie zadziała to wpis "su" to powinno ci nadać uprawnienia admina, wtedy sprawdź skrypt jeszcze raz jeszcze jedno, czy nadałeś pliką odpowiednie uprawnienia, że to jest plik wykonywalny Ten post edytował okitoki 22.05.2009, 06:52:42 -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jeśli się nie mylę, to Google: sudoers i trzeba dodać ten skrypt.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
bim2, ten panel jest dziwny i go w ogóle nie odpalałem
![]() okitoki, zaraz sprawdzę czy działa na shellu ![]() Sprawdziłem i: Edit: root@vz869:~/samp02X# killall 123sam.sh 123sam.sh: no process killed root@vz869:~/samp02X# killall samp02Xsvr root@vz869:~/samp02X# Komenda druga wyłączyła serwer SA-Mp. Ten post edytował KoPcIu 22.05.2009, 18:33:37 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
no to super, ty to robisz jako użytkownik nie admin
wiec włącz serwer z poziomu PHP, wysłącz serwer z shela i komendą shell_exec("samp02Xsvr > /dev/null 2>&1"); tylko podaj Ścieszkę pełną do pliku samp02Xsvr. zamiast "> /dev/null" możesz dać ">> ~/jakis_plik" wtedy w nim cały rezultat zapisze podejrzewam że nie zabijesz procesu z php jak go uruchomisz w shelu, ale jak uruchomisz z PHP to prawdopodobnie będziesz go mógł zniszczyć jak to nie pomoże to zakombinujemy z shellem jako kto zalogowałes sie do shell-a jako user czy root? napisałem taki skrypt w bashu Kod #!/bin/bash tail -f ~/uruchom | while read exec do $exec done echo > ~/uruchom to polecenie jakie zapiszesz do pliku uruchom zostanie wykonane z takimi uprawnieniami jak uprawnienia osoby która odpaliła ten skrypt, można go wykorzystać do restartu serwera ![]() -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 23.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
ta komenda:
shell_exec("samp02Xsvr > /dev/null 2>&1"); Zabije czy odpali skrypt bo nie rozumie? A takie PS wpadłem na inny sposób: Kod <? system('killall samp02Xsvr'); system('./samp02Xsvr'); ?> Wszystko działa jeśli plik PHP znajduje się w katalogu gdzie jest plik samp02Xsvr lecz ja mam tak: /var/www/serwery/NICK/pliki/ W katalogu nick mam plik reset.php a w katalogu pliki mam plik serwer02Xsvr Jak zrobić aby najpierw wejść w katalog a potem dopiero wykonać ./samp02Xsvr ? |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 1 Dołączył: 12.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 16:00 |