Otóż zabrałem się za pisanie panelu do 'obsługi' serwerów CS na Dedyku.
Jak na razie wszystko szło gładko, lecz teraz nastał ta chwila której długo oczekiwałem nie wiem jak się do tego zabrać no ale do rzeczy,
otóż serwery cs'a włączam/restartuję poprzez wydanie odpowiedniej komendy przez ssh2, to jeszcze potrafię zrobić lecz aby wyłączyć serwer muszę z killować screen'a. I tutaj jest problem, szukałem na wielu stronach niejako 'sposobu' na wyłączenie screena.
Wpadłem na pomysł aby to zrobić tak:
#przykład jak to ma wyglądać
$serwer = 'serwer_1';
$command = "cd ~; cd ".$wiersz['sciezka']."; screen -r $serwer"; // Start
$connection = ssh2_connect($server, 22); // Laczenie
ssh2_auth_password($connection, $login, $password); // Logowanie
$stream = ssh2_exec($connection, $command); // Exc
fwrite( $stream, "quit \n");
if($stream == TRUE)
{
echo "".good_mg('Serwer został zatrzymany poprawnie!')."";
}
else
{
echo "".bad_mg('Nie udało się zatrzymać serwera!')."";
}
Wszystko pięknie, skrypt łączy się z serwerem, loguje się, wykonuję $stream ale fwrite już nie. Ale może najpierw wytłumaczę co chcę przez to osiągnąć.
Wykombinowałem to w ten sposób że skrypt wchodzi w odpowiedni folder wywołuje włączony screen poprzez screen -r $serwer i powinien w screenie napisać quit co spowodowało by zatrzymanie screena oraz wyłączenie serwera.
Troche dziwnie to opisałem ale mam nadzieję że ktoś zrozumie o co mi chodzi
Następną sprawą z którą mam problem jest to iż chcę napisać konsolę która będzie wyświetlać dane pochodzące ze screena, oraz inputa dzięki któremu będę mógł wpisywać komendy np ban PLAYER 5 - co za skutkuje zbanowaniem użytkownika o nicku PLAYER na 5 min.
Mam nadzieję że ktoś zdoła mi pomóc
Pozdrawiam!