Skocz do zawartości


 

Zdjęcie

cron nie wykonuje polecenia

cron nie wykonuje polecenia

  • Proszę się zalogować aby odpowiedzieć
11 odpowiedzi na ten temat

cron nie wykonuje polecenia

#1 kamil501

kamil501

    Nowy użytkownik

  • Użytkownicy
  • 25 postów
  • Imię:Kamil

Napisany 18 czerwiec 2016 - 20:54

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


Edytowany przez kamil501, 18 czerwiec 2016 - 20:57.

  • 0

#2 HaPe

HaPe

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1581 postów
  • Skąd:Kraków
  • Firma:www.9h.pl
  • Imię:Hubert
  • Nazwisko:Nodżak-Pluta

Napisany 18 czerwiec 2016 - 20:59

Crontab edytowałeś na roocie?


  • 0

#3 kamil501

kamil501

    Nowy użytkownik

  • Użytkownicy
  • 25 postów
  • Imię:Kamil

Napisany 18 czerwiec 2016 - 21:00

tak


  • 0

#4 kafi

kafi

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 3412 postów

Napisany 18 czerwiec 2016 - 21:48

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).


  • 0

#5 kamil501

kamil501

    Nowy użytkownik

  • Użytkownicy
  • 25 postów
  • Imię:Kamil

Napisany 18 czerwiec 2016 - 22:53

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)

Edytowany przez kamil501, 18 czerwiec 2016 - 23:19.

  • 0

#6 lord101

lord101

    Stały użytkownik

  • WHT Pro
  • PipPipPipPipPip
  • 304 postów
  • Skąd:Rzeszów

Napisany 19 czerwiec 2016 - 00:13

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

  • 0

#7 kamil501

kamil501

    Nowy użytkownik

  • Użytkownicy
  • 25 postów
  • Imię:Kamil

Napisany 19 czerwiec 2016 - 09:32

*/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 :(

 

 


  • 0

#8 dannix

dannix

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 151 postów

Napisany 19 czerwiec 2016 - 14:21

Wklej kod skryptu
  • 0

#9 Gość_mariaczi_*

Gość_mariaczi_*
  • Goście

Napisany 19 czerwiec 2016 - 14:49

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.


Edytowany przez mariaczi, 19 czerwiec 2016 - 14:53.

  • 1

#10 kamil501

kamil501

    Nowy użytkownik

  • Użytkownicy
  • 25 postów
  • Imię:Kamil

Napisany 19 czerwiec 2016 - 18:12

Ten cron co podałeś

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

działa a czemu przy null nie działał?


Edytowany przez kamil501, 19 czerwiec 2016 - 18:12.

  • 0

#11 Gość_mariaczi_*

Gość_mariaczi_*
  • Goście

Napisany 19 czerwiec 2016 - 19:53

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ę :)


Edytowany przez mariaczi, 19 czerwiec 2016 - 19:54.

  • 1

#12 kamil501

kamil501

    Nowy użytkownik

  • Użytkownicy
  • 25 postów
  • Imię:Kamil

Napisany 19 czerwiec 2016 - 20:20

ok dziękuje za pomoc


  • 0





0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników