Nx Opublikowano 25 Listopada 2009 Udostępnij Opublikowano 25 Listopada 2009 Witam. Mam problem: #!/usr/bin/perl -X use Socket; #----------------------------------------------------------- # Konfiguracja (Do ustawienia według opisu) #----------------------------------------------------------- my $host = "x.x.x.x"; # Adres IP serwera do sprawdzania (To jest ten zbindowany). my $port = "27015"; # Port serwera, na którym chodzi. use constant CHECKEVERY => 90; # Jak często sprawdzać serwer ? (Tutaj ustawiono co 90 sekund). use constant TIMEOUT => 20; # Jak długo czekać na jego odpowiedź zanim go zrestartujemy. # Poniżej podaj ścieżkę do skryptu uruchamiającego/restartującego serwer. # Oczywiście może to być także zwykła komenda zawierające odpowiednie opcje. my $cmd = "/home/hlds_l/scripts/hlds restart"; #----------------------------------------------------------- # Nie edytuj tego poniżej, chyba, że wiesz co robisz :) #----------------------------------------------------------- my $MAXLEN = 128; my $msg="\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00"; my $RET = "NONE!"; $SIG{ALRM} = sub { &TimeOut }; &Start; sub CheckServer { my $ipaddr = inet_aton($host); my $portaddr = sockaddr_in($port, $ipaddr); $RET = "NONE!"; socket(SOCKET, PF_INET, SOCK_DGRAM, getprotobyname("udp")) or die "socket: $!"; send(SOCKET, $msg, 0, $portaddr) == length($msg) or die "Error Sending Query.\n"; alarm(TIMEOUT); recv(SOCKET, $RET, $MAXLEN, 0); close SOCKET; sleep(CHECKEVERY); } sub Start { while (1) { &CheckServer; } } sub TimeOut { if ($RET eq "NONE!") { print "SERVER DOWN, RESTARTING!\n"; $STARTSERV = `/usr/bin/perl -w $cmd`; print $STARTSERV . "\n"; } sleep(CHECKEVERY); close SOCKET; } I gdy to zrobie i zapisze do pliku start.sh i gdy uruchomię "./start.sh" to wyskakuje błąd ./start.sh: line 2: use: command not found ./start.sh: line 8: my: command not found ./start.sh: line 9: my: command not found ./start.sh: line 10: use: command not found ./start.sh: line 11: use: command not found ./start.sh: line 16: my: command not found ./start.sh: line 22: my: command not found ./start.sh: line 23: my: command not found ./start.sh: line 24: my: command not found ./start.sh: line 25: {ALRM}: command not found ./start.sh: line 25: TimeOut: command not found ./start.sh: line 26: syntax error near unexpected token `&' ./start.sh: line 26: ` &Start;' Dokładny opis tego znajduje się tu: http://hlds.pl/ServerChecker Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Krajowa Rada Stolarzy Opublikowano 26 Listopada 2009 Udostępnij Opublikowano 26 Listopada 2009 Skrypt wciąż jest ładowany jako skypt wsadowy basha. Zmień rozszerzenie na .pl. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nx Opublikowano 27 Listopada 2009 Autor Udostępnij Opublikowano 27 Listopada 2009 Mowisz, żebym zmienił na .pl to zmieniłem ale dalej jest błąd: xen:/home# ./start.pl ./start.pl: line 2: use: command not found ./start.pl: line 8: my: command not found ./start.pl: line 9: my: command not found ./start.pl: line 10: use: command not found ./start.pl: line 11: use: command not found ./start.pl: line 16: my: command not found ./start.pl: line 22: my: command not found ./start.pl: line 23: my: command not found ./start.pl: line 24: my: command not found ./start.pl: line 25: TimeOut: command not found ./start.pl: line 26: syntax error near unexpected token `&' ./start.pl: line 26: ` &Start;' xen:/home# ./start.pl: line 25: {ALRM}: command not found Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 27 Listopada 2009 Filar Społeczności Udostępnij Opublikowano 27 Listopada 2009 No to odpal bezpośrednio perlem. xen:/home#perl start.pl Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nx Opublikowano 29 Listopada 2009 Autor Udostępnij Opublikowano 29 Listopada 2009 O no dzięki działa, mam nadzieje, że dobrze uruchomiłem na screenie: screen -A -m -d -S perl ./start ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się