Skocz do zawartości
Zaloguj się, aby obserwować  
kamil501

cron nie wykonuje polecenia

Polecane posty

Witam mam problem z cron wpisałem polecenie, aby wykonywał je co 30 minut, ale tego nie robi przedstawie w jaki sposób to zrobiłem. Na samym początku wpisałem do terminalu

crontab -e

Następnie na samym dole dopisałem komendę:

*/30 * * * * '/root/wysylanie.sh' > /dev/null 2>&1

Na samym końcu zapisałem plik oraz zresetowałem cron komendą

sudo service cron restart

Pozdrawiam

 

Dodam jeszcze, że jak wykonam polecenie ./wysylanie.sh to skrypt działa poprawnie

Edytowano przez kamil501 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Crontab edytowałeś na roocie?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Usuń >/dev/null 2>&1 i spojrzyj wtedy na logi crona (powinny ci dotrzeć jako wiadomości e-mail użytkownika root).

 

Obstawiam, że stosujesz gdzieś w tym skrypcie względne ścieżki - albo do binarek, albo do jakichś plików do przetworzenia, więc z lokalnego wywołania ./wywolanie.sh działa dobrze (bo masz je w ramach $PATH), a z crona już niekoniecznie (bo wtedy CWD nie jest określony).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

a email root jest jaki? domyślam się, że taki sam jaki podałem wykupując maszynę?

 

tak używam w skrypcie $PATH bo podaje w nim gdzie są pliki i on je pakuje i przenosi do innego folderu

jak określić to CWD

 

logi z /var/log/syslog:

Jun 19 00:00:01 ns3029969 CRON[21750]: (root) CMD ('/root/wysylanie.sh' >)
Jun 19 00:00:01 ns3029969 CRON[21751]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:00:01 ns3029969 CRON[21749]: (CRON) info (No MTA installed, discarding output)
Jun 19 00:01:01 ns3029969 CRON[21794]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:02:01 ns3029969 CRON[21837]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:03:01 ns3029969 CRON[21880]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:04:01 ns3029969 CRON[21923]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:05:01 ns3029969 CRON[21966]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:06:01 ns3029969 CRON[22009]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:07:01 ns3029969 CRON[22052]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:08:01 ns3029969 CRON[22095]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:09:01 ns3029969 CRON[22140]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:09:01 ns3029969 CRON[22139]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
Jun 19 00:10:01 ns3029969 CRON[22190]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:11:01 ns3029969 CRON[22233]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:12:01 ns3029969 CRON[22276]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:13:01 ns3029969 CRON[22319]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:14:01 ns3029969 CRON[22365]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:15:01 ns3029969 CRON[22740]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 00:16:01 ns3029969 CRON[22783]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Edytowano przez kamil501 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja bym tam wstawił coś takiego:

*/30 * * * * 'sh /root/wysylanie.sh' > /dev/null 2>&1

lub
*/30 * * * * 'bash /root/wysylanie.sh' > /dev/null 2>&1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
*/30 * * * * 'sh /root/wysylanie.sh' > /dev/null 2>&1
Jun 19 10:20:01 ns3029969 CRON[18257]: (root) CMD ('sh /root/wysylanie.sh' > /dev/null 2>&1)
Jun 19 10:21:01 ns3029969 CRON[18301]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
Jun 19 10:22:01 ns3029969 CRON[18344]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)
*/30 * * * * 'bash /root/wysylanie.sh' > /dev/null 2>&1
Jun 19 10:30:01 ns3029969 CRON[19477]: (root) CMD ('bash /root/wysylanie.sh' > /dev/null 2>&1)
Jun 19 10:30:01 ns3029969 CRON[19478]: (root) CMD (/usr/local/rtm/bin/rtm 59 > /dev/null 2> /dev/null)

nie pomogło :(

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mariaczi

Jak to kiedyś ktoś powiedział "prowadził ślepy głuchego" ;)

Usuń ten pojedynczy apostrof z polecenia i sprawdź :) a wyjście skieruj do pliku dla "debugowania"

 

*/30 * * * * /root/wysylanie.sh > /root/log_wysylka 2>&1

Jak już będziesz widział, że działa skierujesz z powrotem do nula.

Edytowano przez mariaczi (zobacz historię edycji)
  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mariaczi

Nie działał z powodu pojedynczego apostrofu. Zakładam, że skrypt ma coś wysłać na maila, bo jeśli "wysłać na ekran"... to tylko do pliku albo na odpowiednią konsolę :)

Edytowano przez mariaczi (zobacz historię edycji)
  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×