Skocz do zawartości
ToFFiK

Skrypt wykonujący daną akcje po X czasie

Polecane posty

Nie wiem jak taki skrypt nazwać, więc opiszę czego potrzebuję, chyba coś takiego trzeba było by napisać na zlecenie, ale może coś by się za darmo znalazło.

 

Szukam skryptu który np. co 3 godziny zabijał proces odpalony na screenie, i ponownie go odpalał. Potrzebuję coś takiego ponieważ mój serwer SAMP gubi połączenie z mysql jakimś cudem, i potrzebuję doraźnego rozwiązania przed naprawieniem Gamemoda a restart procesu ręcznie pomaga.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

cron i prosty skrypt (znajdziesz gotowy w necie)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Gdzie takowego skryptu musiałbym szukać?

 

 

<?php
$sciezka='/home/pliki/';
$hashssh = 'xxx';
$userssh = 'root';
$portssh = '22';
$ip = '255.255.255.255';
$polecenie = "killall -9 ".$sciezka."nazwa pliku do wyłączenia";	
$polaczenie = ssh2_connect($ip, $portssh);
ssh2_auth_password($polaczenie, $userssh, $hashssh); 
$stream = ssh2_exec($polaczenie, $polecenie);
?>

 

 

To jest wyłączenie, na podstawie tego zrób sobie włączenie... lub w tym samym poleceniu zrób

 

Pozmieniaj sobie pod siebie...

Edytowano przez Devias (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Po co do czegoś takiego zaprzęgać PHP, które to jeszcze na dodatek tego będzie łączyć się przez ssh hasłem roota (jawnie zapisanym) z localhostem?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Po co do czegoś takiego zaprzęgać PHP, które to jeszcze na dodatek tego będzie łączyć się przez ssh hasłem roota (jawnie zapisanym) z localhostem?

 

Kto powiedział ze musi być rootem ? - Zawsze można stworzyć inne konto... - A ja mu dałem skrypt prostego crona..

Czemu swojej wersji nie zaproponowałeś ?

Udostępnij ten post


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

Równie dobrze może zrobić to localnie i odpalać przez WWW ze swojego serwera i crona. Trochę przeróbek i może śmigać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

<?php$sciezka='/home/pliki/';

$hashssh = 'xxx';

$userssh = 'root';

$portssh = '22';

$ip = '255.255.255.255';

$polecenie = "komenda na odpalenie".$sciezka."nazwa pliku do odpalenia";

$polaczenie = ssh2_connect($ip, $portssh);

ssh2_auth_password($polaczenie, $userssh, $hashssh);

$stream = ssh2_exec($polaczenie, $polecenie); ?>

 

Czyli musiało by być coś takiego na włączenie tak? A jeśli chciałbym mieć na screenie to

<?php$sciezka='/root/samp/samp03';

$hashssh = 'xxx';

$userssh = 'JakisUser';

$portssh = '22';

$ip = '255.255.255.255';

$polecenie = "screen -A -m -d -S samp ./samp03svr".$sciezka."samp03svr";

$polaczenie = ssh2_connect($ip, $portssh);

ssh2_auth_password($polaczenie, $userssh, $hashssh);

$stream = ssh2_exec($polaczenie, $polecenie); ?>

Edytowano przez ToFFiK (zobacz historię edycji)

Udostępnij ten post


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

Pod warunkiem że hosting/serwer ma zainstalowane ssh2 ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pod warunkiem że hosting/serwer ma zainstalowane ssh2 ;)

 

 

A zatem proszę sprawdzić:

 

 

if(!($con = ssh2_connect("192.168.2.1", 22))){
   echo "fail: unable to establish connection\n";
} else {
   // try to authenticate with username root, password secretpassword
   if(!ssh2_auth_password($con, "user", "password")) {
       echo "fail: unable to authenticate\n";
   } else {
       // allright, we're in!
       echo "okay: logged in...\n";

       // execute a command
       if (!($stream = ssh2_exec($con, "sh version\n" ))) {
           echo "fail: unable to execute command\n";
       } else {
           // collect returning data from command
           stream_set_blocking($stream, true);
           $data = "";
           while ($buf = fread($stream,4096)) {
               $data .= $buf;
           }
           fclose($stream);
       }
   }
}

 

 

Jeśli się połączy to wyskoczy "okay: logged in.."

A jeśli nie to musisz zainstalować SSH2 na 100% instalację znajdziesz na tym forum lub gamehostingtalk - ale jak wpiszesz w google to Ci wyświetli się..

Edytowano przez Devias (zobacz historię edycji)

Udostępnij ten post


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

 

Czyli musiało by być coś takiego na włączenie tak? A jeśli chciałbym mieć na screenie to

<?php$sciezka='/root/samp/samp03' ;
$hashssh = 'xxx';
$userssh = 'JakisUser';
$portssh = '22';
$ip = '255.255.255.255';
$polecenie = "screen -A -m -d  -S samp  ./samp03svr".$sciezka."samp03svr" ;        
$polaczenie = ssh2_connect($ip, $portssh);
ssh2_auth_password($polaczenie, $userssh, $hashssh); 
$stream = ssh2_exec($polaczenie, $polecenie); ?>

 

 

A nie przypadkiem $polecenie ,nie powinno wyglądać tak?

$polecenie = "screen -A -m -d -S samp .$sciezka."samp03svr";

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ę


×