1 (edytowany przez allucard018 2014-03-08 11:37:01)

Temat: Crontab nie uruchamia wszystkich skryptów

Tak wygląda plik konfiguracyjny /etc/crontabs/root

0 0,4,8,12,16,20 * * * date -u  +"%Y.%m.%d-%H:%M:%S" >/usr/data/time_backup
0,1,11,21,31,41,51 * * * * /usr/bin/set_kernel_timezone >/dev/null 2>&1
59 2 * * * /usr/bin/wifiManager.sh stop
0 3 * * * /usr/bin/wifiOff.sh &
0 3 * * * /usr/bin/statystyka.sh
0 9 * * * /usr/bin/wifiManager.sh start &
0 9 * * 1 /usr/lib/gargoyle/reboot.sh
0 0,4,8,12,16,20 * * * /tmp/do_webmon_backup.sh
0 0,4,8,12,16,20 * * * /tmp/bw_backup/do_bw_backup.sh

Nie uruchamia się 0 9 * * * /usr/bin/wifiManager.sh start &
Dlaczego? Konflikt kilku zdarzeń w jednym czasie? Chyba nie, bo ustawiłem w różnych minutach i było to samo.
Zaznaczę, że wifiOff sprawdza połączenia wifi. Gdy ich brak wyłącza wifi i skrypt kończy się. Natomiast wifiManager działa do momentu wywołania 2 instancji z parametrem stop. Wszystko działa gdy uruchamiam ręcznie lub ustawie wifiManager start przykładowo za 5 minut. Lecz przy tych ustawieniach następnego dnia o 9 nie włącza się.

P.S wifiManager.sh stop włącza się.

2

Odp: Crontab nie uruchamia wszystkich skryptów

Dodaj sobie do /usr/bin/wifiManager.sh na samym początku jakiś logger i zobaczysz czy w ogóle jest wołany. Tak samo - zobacz w logu czy cron woła to polecenie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez allucard018 2014-03-08 11:56:42)

Odp: Crontab nie uruchamia wszystkich skryptów

"w logu", czyli polecenie logread? Ustawiłem przed chwilą start  w crontabie na 11:48 i uruchomił się skrypt - widzę po poleceniu top, ale w logread o tym ani słowa.

4

Odp: Crontab nie uruchamia wszystkich skryptów

Używasz gargoyle, więc w /etc/config/system sobie zmniejsz liczbę która odpowiada na gadatliwość crona.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Crontab nie uruchamia wszystkich skryptów

Ok... ustawiłem na 0.
Rezultat: Mar  8 12:20:01 Gargoyle cron.info crond[2760]: crond: USER root pid 2764 cmd /usr/bin/wifiManager.sh start &
Poczekam do jutra, czy o 9 wywoła skrypt.

6

Odp: Crontab nie uruchamia wszystkich skryptów

Zmień sobie na 12:40, zrestartuj crona i zobaczysz. Po co czekać do jutra.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Crontab nie uruchamia wszystkich skryptów

W ten sposób działa zawsze. To znaczy po restarcie crona i ustawieniu innego czasu. Spójrz na poprzedni post. Skrypt funkcjonuje prawidłowo. No, ale co z tego skoro o 9 rano nie włącza się.

8

Odp: Crontab nie uruchamia wszystkich skryptów

No dobrze, czekaj do jutra smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez allucard018 2014-03-08 13:12:41)

Odp: Crontab nie uruchamia wszystkich skryptów

Sprawdziłem raz jeszcze na sucho w cronie wywołanie 3 skryptów...Wszystko działa pięknie. Zupełnie nie rozumiem dlaczego o 9 rano nie dzieje się to samo. Na wszelki wypadek zmieniłem restart routera na 5 rano (tylko poniedziałki) bo wydaje mi się, że to on konfliktuje... - w końcu to wersja trunk
A tak... w ogóle to zwykle resetuje router zamiast samego crona, ale wychodzi na to samo, prawda?

Mar  8 12:48:01 Gargoyle cron.info crond[3277]: crond: USER root pid 3305 cmd /usr/bin/wifiManager.sh stop
Mar  8 12:48:42 Gargoyle daemon.info hostapd: wlan0: STA xx:xx:xx:xx:xx:94 WPA: group key handshake completed (RSN)
Mar  8 12:49:01 Gargoyle cron.info crond[3277]: crond: USER root pid 3330 cmd /usr/bin/wifiOff.sh &
Mar  8 12:49:01 Gargoyle kern.info kernel: [ 2583.800000] device wlan0 left promiscuous mode
Mar  8 12:49:01 Gargoyle kern.info kernel: [ 2583.800000] br-lan: port 2(wlan0) entered disabled state
Mar  8 12:51:01 Gargoyle cron.info crond[3277]: crond: USER root pid 3395 cmd /usr/bin/set_kernel_timezone >/dev/null 2>&1
Mar  8 12:55:01 Gargoyle cron.info crond[3277]: crond: USER root pid 3397 cmd /usr/bin/wifiManager.sh start &

10

Odp: Crontab nie uruchamia wszystkich skryptów

Chciałem tyko napisać, że problem tkwił wyłącznie w moim skrypcie. Cron wszystko uruchamiał, a na buga nakierował mnie log, który utworzyłem w skrypcie tak jak polecał Cezary.