| 
 Problem z cron'em 
 | 
| demeo | 
 Dodano 24-07-2009 12:47 
 | 
 
  
User 
 
 
  
Posty: 111 
Dołączył: 30/12/2007 19:16 
  | 
Witam 
 
Od dłuższego czasu nęka mnie pewien problem dotyczący crona, otóż po starcie urządzenia cron nie wykonuje poprawnie zadań ustawionych czasowo. Wygląda to w taki sposób, że w logach wszystko jest ok i pokazane że pliki się wykonały, lecz niestety się nie wykonują - brak wyników ich działania! Natomiast jak zrestartuje crona ręcznie (z konsoli) to wszystkie skrypty ustawione czasowo wykonują się poprawnie! 
 
Z góry dzięki za wszelkie rady i porady.
 --  
Pozdrawiam  
Demeo 
 | 
|   | 
 
 
 
 | 
 | 
| obsy | 
 Dodano 24-07-2009 17:14 
 | 
 
  
VIP 
 
 
  
Posty: 5775 
Dołączył: 31/10/2006 20:06 
  | 
Podałeś pełne ścieżki do programów przy wywołaniu z crona?
 
 | 
|   | 
 
 
 
 | 
 | 
| demeo | 
 Dodano 28-07-2009 10:02 
 | 
 
  
User 
 
 
  
Posty: 111 
Dołączył: 30/12/2007 19:16 
  | 
Cytat obsy napisał/a: 
Podałeś pełne ścieżki do programów przy wywołaniu z crona?  
 
Owszem podałem pełne ścieżki, cron odpala kilka skryptów w bashu. W tych skryptach też użylem pełnych ścieżek do plików.
 --  
Pozdrawiam  
Demeo 
 | 
|   | 
 
 
 
 | 
 | 
| demeo | 
 Dodano 31-07-2009 14:21 
 | 
 
  
User 
 
 
  
Posty: 111 
Dołączył: 30/12/2007 19:16 
  | 
Podtrzymując temat i szukając rozwiązania, moj plik /etc/crontabs/root wygląda następująco: 
 
                    root@OpenWrt:~# cat /etc/crontabs/root 
*/1 * * * * /sd/skrypty_rrdtool/make_update_load 
*/2 * * * * /sd/skrypty_rrdtool/dane/obrobka 
*/5 * * * * /sd/skrypty_rrdtool/make_graph_1h 
0 * * * * /sd/skrypty_rrdtool/make_graph_24h 
20 0 * * * /sd/skrypty_rrdtool/make_graph_1w 
40 0 * * * /sd/skrypty_rrdtool/make_graph_1m 
0 1 * * * /sd/skrypty_rrdtool/make_graph_1y 
  
Natomiast cron jest uruchamiany przez poniższy skrypt: 
 
                    #!/bin/sh /etc/rc.common 
# Copyright (C) 2006 OpenWrt.org 
START=99 
 
start () { 
        mkdir -p /var/spool/cron 
        [ -L /var/spool/cron/crontabs ] || ln -s /etc/crontabs /var/spool/cron/crontabs 
/usr/sbin/crond -c /etc/crontabs/ 
} 
 
stop() { 
        killall -9 crond 
} 
  
 
Może ktoś spostrzegawczy zauważy jakąś nieprawidłowość czemu cron po starcie routera nie działa prawidłowo, zaczyna działać dopiero jak się go ręcznie zrestartuje. 
 
Z góry dziękuję za odpowiedzi. 
 
--  
pozdrawiam, 
Paweł Trofimiuk
 --  
Pozdrawiam  
Demeo 
 | 
|   | 
 
 
 
 | 
 | 
| obsy | 
 Dodano 31-07-2009 14:56 
 | 
 
  
VIP 
 
 
  
Posty: 5775 
Dołączył: 31/10/2006 20:06 
  | 
Zakładałbym że jest problem z kartą SD w momencie kiedy sie to odpala. Gdzie/kiedy masz montowanie SD?
 
Edytowany przez obsy dnia 31-07-2009 14:56
 
 | 
|   | 
 
 
 
 | 
 | 
| demeo | 
 Dodano 04-08-2009 14:08 
 | 
 
  
User 
 
 
  
Posty: 111 
Dołączył: 30/12/2007 19:16 
  | 
stworzyłem prosty skrypt /root/tesicik 
 
                    #!/bin/sh 
touch /root/CRON_DZIALA  
 
dodałem go do crona 
 
                     
 
w logach widzę: 
 
                    Aug  4 14:01:01 OpenWrt cron.err crond[559]: USER root pid 579 cmd /root/tescik  
 
Ale niestety skrypt nie jest wykonywany, czyli odpada przyczyna związana z używaniem karty sd.
 --  
Pozdrawiam  
Demeo 
 | 
|   | 
 
 
 
 | 
 | 
| obsy | 
 Dodano 05-08-2009 20:43 
 | 
 
  
VIP 
 
 
  
Posty: 5775 
Dołączył: 31/10/2006 20:06 
  | 
Twój przykład działa. 
 
                    Jan  1 00:01:01 OpenWrt cron.err crond[898]: USER root pid 972 cmd /root/tescik 
Jan  1 00:02:01 OpenWrt cron.err crond[898]: USER root pid 977 cmd /root/tescik 
Jan  1 00:03:01 OpenWrt cron.err crond[898]: USER root pid 982 cmd /root/tescik 
Jan  1 00:04:01 OpenWrt cron.err crond[898]: USER root pid 986 cmd /root/tescik 
  
 
Jak widać ładnie po starcie systemu. 
 
 Głupie, ale: 
- czy /root/tescik ma prawa do wykonania? 
- jak dodajesz zadanie do crona? mam nadzieję że przez crontab -e 
 
 | 
|   | 
 
 
 
 | 
 | 
| demeo | 
 Dodano 05-08-2009 22:08 
 | 
 
  
User 
 
 
  
Posty: 111 
Dołączył: 30/12/2007 19:16 
  | 
Cytat obsy napisał/a:
Twój przykład działa.
 
                    Jan  1 00:01:01 OpenWrt cron.err crond[898]: USER root pid 972 cmd /root/tescik 
Jan  1 00:02:01 OpenWrt cron.err crond[898]: USER root pid 977 cmd /root/tescik 
Jan  1 00:03:01 OpenWrt cron.err crond[898]: USER root pid 982 cmd /root/tescik 
Jan  1 00:04:01 OpenWrt cron.err crond[898]: USER root pid 986 cmd /root/tescik 
  
Jak widać ładnie po starcie systemu.
 
 Głupie, ale: 
- czy /root/tescik ma prawa do wykonania? 
- jak dodajesz zadanie do crona? mam nadzieję że przez crontab -e
  
 
- owszem /root/tescik ma prawa do wykonwyania 
- zadania do crona dodaje poprzez edycje pliku /etc/crontabs/root za pomoca edytora nano 
 
Najbardziej zastanawiajacy jest fak, ze cron dopiero dziala poprawnie po wykonaniu polecenia 
/etc/init.d/cron stop 
/etc/init.d/cron start 
Po normalnym uruchomieniu routera cron dziala nie poprawnie - tak jak opisalem powyzej, czyli w logach widac ze uruchamia skrypty lecz one nie sa w rzeczywistosci wykonywane.
 
Edytowany przez demeo dnia 05-08-2009 22:11
 --  
Pozdrawiam  
Demeo 
 | 
|   | 
 
 
 
 | 
 | 
| obsy | 
 Dodano 05-08-2009 22:14 
 | 
 
  
VIP 
 
 
  
Posty: 5775 
Dołączył: 31/10/2006 20:06 
  | 
to dodaj przez crontab -e.  
 
Jak dodasz z palca (nano) może nie widzieć tych zmian.
 
 | 
|   | 
 
 
 
 | 
 | 
| demeo | 
 Dodano 06-08-2009 12:42 
 | 
 
  
User 
 
 
  
Posty: 111 
Dołączył: 30/12/2007 19:16 
  | 
Cytat obsy napisał/a: 
to dodaj przez crontab -e.  
 
Jak dodasz z palca (nano) może nie widzieć tych zmian.  
 
Nie sądzę by to był problem edytora którym dodaje się wpisy, bo przecież edytor zawsze można zmienić za pomocą 
 
                     
W każdym razie dodałem ponowqnie wpisy poprzez crontab -e i dalej występuje ten sam problem.
 --  
Pozdrawiam  
Demeo 
 | 
|   | 
 
 
 
 | 
 | 
| obsy | 
 Dodano 06-08-2009 23:11 
 | 
 
  
VIP 
 
 
  
Posty: 5775 
Dołączył: 31/10/2006 20:06 
  | 
No to masz coś namieszane w konfiguracji. Dokładnie Twój przykład działa na świeżej instalacji. 
 
PS. Ma znaczenie. Jak robisz to przez crontab -e to sam cron jest powiadamiany że plik został zmieniony (sam edytor nie ma znaczenia, to tylko edycja). Jak robisz ręcznie edycje pliku - po prostu cron nie ma pojęcia ze mu się plik zmienił.
 
 | 
|   | 
 
 
 
 | 
 | 
| demeo | 
 Dodano 11-08-2009 14:02 
 | 
 
  
User 
 
 
  
Posty: 111 
Dołączył: 30/12/2007 19:16 
  | 
Cytat obsy napisał/a: 
No to masz coś namieszane w konfiguracji. Dokładnie Twój przykład działa na świeżej instalacji. 
 
PS. Ma znaczenie. Jak robisz to przez crontab -e to sam cron jest powiadamiany że plik został zmieniony (sam edytor nie ma znaczenia, to tylko edycja). Jak robisz ręcznie edycje pliku - po prostu cron nie ma pojęcia ze mu się plik zmienił.  
 
Owszem, ale po każdej edycji pliku robie ręczny restart crona. 
 
Co jeszcze odpowiada za konfigurację crona?
 --  
Pozdrawiam  
Demeo 
 | 
|   | 
 
 
 
 |