Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest poniedziałek, 7 lipca 2025, 20:29

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 4 ] 
Autor Wiadomość
Post: wtorek, 25 kwietnia 2006, 07:10 
Offline

Rejestracja: poniedziałek, 8 sierpnia 2005, 16:02
Posty: 6
Witam.
Przegladnolem kilka skryptów ale niestety mając niewielką wiedze na temat pisania skryptów moje próby przerobienia kilku nie przynoisły zadnego rezultatu, wiec zwracam sie do fachowcow.
Potrzebuję prosty skrypt który uruchamia polecenie xxx i w otrzymanym komunikacie wyszukuje podanego ciągu znakow yyzz. Jeśli dany ciag znakow znajdzie to end jeśli nie to kiluje proces vvv i uruchamia go ponownie.
Pozdrawiam i z góry dziekuje.


Na górę
 Wyświetl profil  
 
Post: wtorek, 25 kwietnia 2006, 09:29 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
Neron-ek pisze:
Potrzebuję prosty skrypt który uruchamia polecenie xxx i w otrzymanym komunikacie wyszukuje podanego ciągu znakow yyzz. Jeśli dany ciag znakow znajdzie to end jeśli nie to kiluje proces vvv i uruchamia go ponownie.
Pozdrawiam i z góry dziekuje.


: [/] [] ()
#!/bin/sh

/scieżka/do/xxx | grep yyzz

if [ $? = 0 ]; then
   echo "Znalazłem yyzz. Kończę!"
   exit 0
else
   echo "Nie znalazłem yyzz. Restartuję vvv."
   killall vvv && /sciezka/do/vvv
   if [ $? = 0 ]; then
      echo "vvv zrestartowane. Kończę."
      exit 0
   else
      echo "Nie udało się zrestartować vvv. Kończę"
      exit 1
   fi
fi


1. można to jeszcze uprościć
2. zabijanie procesu to nie jest najbardziej elegancka metoda, poza tym nie podałeś czy vvv to nazwa czy numer procesu, jesli nazwa to używasz killall, jeśli numer procesu to używasz kill.
3. podobnie jak w pkt 2 - nie podałes jak uruchamiasz proces vvv więc przyjąłem, że to jest jakiś wykonywalny plik na dysku.
4. echa oczywiście możesz wywalić.
5.powyżej masz sprawdzanie czy vvv został zabity i czy się uruchomił - program zakończony sukcesem zazwyczaj zwraca kod błędu ($?) 0 (zero), zakończony błędem zwraca wartość $? różną od zera.

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 5 maja 2006, 10:18 
Offline
Użytkownik

Rejestracja: środa, 26 października 2005, 13:02
Posty: 1404
Lokalizacja: Mińsk Mazowiecki
czyli z deamonami bedzie tak: ?

: [/] [] ()
#!/bin/sh
/scieżka/do/xxx start | grep yyzz
if [ $? = 0 ]; then
   echo "Znalazłem yyzz. Kończę!"
   exit 0
else
   echo "Nie znalazłem yyzz. Restartuję xxx."
/scieżka/do/xxx restart
      if [ $? = 0 ]; then
      echo "xxx zrestartowane. Kończę."
      exit 0
   else
      echo "Nie udało się zrestartować xxx. Kończę"
      exit 1
   fi
fi

_________________
www.komputer.cuprum.pl
Intel Core 2 DUO QUAD, DUAL DDR2 8GB, GF8800 1 GB, HDD SATAII 750 GB + 750 GB + 80GB + IDE HDD 40 GB, Linux Mandriva 2008 PP


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 5 maja 2006, 11:06 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
TheL pisze:
czyli z deamonami bedzie tak: ?


teoretycznie tak. W praktyce też powinno zadziałać. Jednak ja bym dokładnie sprawdził kody błędu po wykonaniu /etc/rc.d/xxx restart

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 4 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl