Czy konieczne jest ponowne uruchomienie cron lub crond po każdym dodaniu lub modyfikacji nowego harmonogramu?

29

Kiedy planuję zadanie, niektóre wydają się być stosowane natychmiast, a inne po ponownym uruchomieniu. Czy więc zaleca się ponowne uruchomienie cron( crond) po dodaniu nowego zadania cron? Jak to zrobić poprawnie (szczególnie w systemie Debian) i czy powinno się to robić sudo(podobnie jak sudo service cron restart) dla zwykłych użytkowników?

Próbowałem:

/etc/init.d/cron restart

który wydaje się nie działać (ani nie działa, /etc/init.d/cron stopani service cron stop) i kończy się kodem powrotu 1.

Oto część wyniku komunikatu:

Ponieważ skrypt, który próbujesz wywołać, został przekonwertowany na zadanie Upstart, możesz również użyć narzędzia stop (8), np. Stop cron stop: Odrzucona wiadomość wysyłania, 1 dopasowane reguły; type = "method_call", sender = ": 1.91" (uid = 1000 pid = 3647 comm = "stop cron") interfejs = "com.ubuntu.Upstart0_6.Job" member = "Stop" nazwa błędu = "(nieustawiony)" request_reply = "0" destination = "com.ubuntu.Upstart" (uid = 0 pid = 1 comm = "/ sbin / init")

(co to znaczy?)

precyzyjny
źródło

Odpowiedzi:

18

Nie, nie musisz restartować cron, zauważy zmiany w plikach crontab (albo /etc/crontabplik crontab użytkowników).

Na górze twojego / etc / crontab prawdopodobnie masz (jeśli masz implementację Vixie crontego IIRC to ta na Debianie):

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

Powodem, dla którego nie widzisz określonych zmian, może być to, że dodajesz rzeczy np. /etc/cron.dailyI codzienny bieg już się odbył.

Otrzymany komunikat jest taki, że używasz starego sposobu restartowania crona w systemie. Zalecany sposób (ale nie konieczny, jeśli tylko edytujesz pliki cron) to:

 restart cron

Musisz oczywiście zrestartować komputer, aby zobaczyć efekty zadania cron @reboot

Timo
źródło
nie było to zadanie restartu, ale co n minut zadanie cron .. i restartowanie wydaje się działać z sudo zarówno ze starymi, jak i nowymi sposobami .. ale nie dla zwykłego użytkownika ..
dokładnie
Jak edytujesz crontab? Jako użytkownik z crontab -e?
Timo
tak ... crontab -eto jest to, czego używam ...
dokładnie
Czy masz Vixie Cron (spójrz na man cron-> Imię)
Timo
1
Wygląda na to, że samo zapisanie zmian nie wystarczy, a zaplanowane zadania obowiązują dopiero po zamknięciu edytora tekstu (używam nano)! ... a może to spowodowało zamieszanie ...
dokładnie
3

Ponowne uruchomienie może nie być konieczne. Jak powiedziałem w moich komentarzach edytora tekstu , które zostały wykorzystane (ten, który jest przypisany do edycji zaplanowane zadania) do edycji zadanie musi być zamknięte ; samo zapisanie zawartości nie wystarczy . (Tego właśnie doświadczyłem. Edytowanie zadań za nanopomocą Ctrl+ zapisywanie przy + Opliku nadal otwartym nie powoduje natychmiastowego wprowadzenia zmian, ale dopiero po zamknięciu edytora za pomocą Ctrl+ X).

I jak wspomniano w tej odpowiedzi ( terdon ), demon cron co minutę sprawdza, czy jakieś zadanie ma zostać uruchomione i wyzwala te, które musi.

precyzyjny
źródło