Nowe posty

Autor Wątek: crontab - pomoc w uruchomieniu skryptu  (Przeczytany 9738 razy)

Juzbrig

  • Gość
crontab - pomoc w uruchomieniu skryptu
« dnia: 2011-03-31, 09:06:29 »
Witam

Przedstawię mój problem. W systemie śmiga sobie serwer, który czasami się "wykrzacza" i pomyślałem, że najlepiej sprawdzać co minutę czy idzie, jak nie to go włączyć.

Napisałem taki skrypt
----
#!/bin/bash

if ! lsof | grep 6011
then /home/sciezka/server konfig.xml
fi

exit 0
----
Skrypcik działa jak go odpalam "ręcznie", ale jak go załaduje do crona np.
crontab -e
0-59 * * * *  /home/sciezka/server_enabler.sh

to nie chce działać :(  Cron działa, bo napisałem skrypt, który tworzy plik i go tworzył. Próbowałem dodać & na końcu żeby odpalał serwer w tle, ale nie pomogło. W czym może być problem ?

arctgx

  • Gość
crontab - pomoc w uruchomieniu skryptu
« Odpowiedź #1 dnia: 2011-03-31, 16:10:55 »
Widzisz jakieś logi z crona? Może zaskoczą Cię jakimś banalnym niedopatrzeniem, np. brakiem praw do wykonywania w tym skrypcie. Z tego co pamiętam, cron wysyła wyjście na lokalną skrzynkę użytkownika, o ile nie ustawiałeś w crontabie zmiennej MAILTO na pustą.

hervenman

  • Gość
crontab - pomoc w uruchomieniu skryptu
« Odpowiedź #2 dnia: 2011-04-01, 11:25:49 »
albo dopisać do linijki w crontabie np:
Cytat: Juzbrig
0-59 * * * * /home/sciezka/server_enabler.sh
1> /tmp/cronlog 2> /tmp/cronlog
i wyniki masz w pliku /tmp/cronlog

Juzbrig

  • Gość
crontab - pomoc w uruchomieniu skryptu
« Odpowiedź #3 dnia: 2011-04-01, 12:21:37 »
Usunąłem ifa ze skryptu, teraz tylko uruchamiam ze ściezki serwer i w logu nie przekierowuje nic, pusty plik jest... Niezyt gadatliwy ten cron ^^

hervenman

  • Gość
crontab - pomoc w uruchomieniu skryptu
« Odpowiedź #4 dnia: 2011-04-01, 12:31:46 »
A co to oznacza?
Cytuj
0-59 * * * *
ja mam ustawioną synchronizację codzienni o 8.00 z serwerem czasu (skrypt nazywa się zegarynka ;) :
 0 8 * * * /usr/local/bin/zegarynka 1> /tmp/cronlog 2> /tmp/cronlog

Juzbrig

  • Gość
crontab - pomoc w uruchomieniu skryptu
« Odpowiedź #5 dnia: 2011-04-01, 12:42:52 »
Cytat: hervenman
A co to oznacza?
Cytuj
0-59 * * * *
co minutę


Edit:
Działa!

Zrobiłem tak w skrypcie:

if ! lsof | grep 6011
then
cd /home/sciezka/
./server konfig.xml
fi

arctgx

  • Gość
crontab - pomoc w uruchomieniu skryptu
« Odpowiedź #6 dnia: 2011-04-02, 01:32:08 »
Poza tematem: do czegokolwiek w tym
Cytat: Juzbrig
lsof | grep 6011
wyrażeniu zmierzasz, zapoznaj się z dokumentacją lsof i doprecyzuj zapytanie, by pozbyć się grepa (chyba że wolisz doprecyzować wyrażenie grepa). Takie wywołanie zwróci zerowy kod zakończenia również, gdy wyłapie pliki używane przez proces z PID=6011, pliki o rozmiarze 160112 bajtów itp.