Nie zlekceważę odpowiedzi @ leonbloy, ale zauważyłem, że implementacja pierwszego zadania crona mojego linuksa (poprawnie sformatowanego zadania na minutę) nie działała, dopóki system nie został ponownie uruchomiony. sudo service cron restartnie był testowany.
geotheory
1
@geotheory yikes Mam nadzieję, że nie będę musiał ponownie uruchamiać serwera prod za każdym razem, gdy aktualizuję crontab (i nie robię tego).
... cron zbada czas modyfikacji wszystkich crontabów i załaduje te, które uległy zmianie. Dlatego cron nie musi być ponownie uruchamiany za każdym razem, gdy modyfikowany jest plik crontab
Jeśli używasz folderu cron.d, dowiązania crontabs nie zostaną ponownie załadowane. Jak mogę wymusić przeładowanie?
CMCDragonkai
13
Ach, to takie proste. Jest teraz sudo service cron restart.
CMCDragonkai
21
Lepszą opcją jest przeładowanie - może ją zainicjować użytkownik inny niż root:/etc/init.d/cron reload
Honza
8
@CMCDragonkai Prawdopodobnie crondzamiast cron.
Cees Timmerman
32
Jedynym problemem związanym z tą odpowiedzią jest to, że nie zawsze jest to prawda. Zobacz komentarz geotheory pod pytaniem. Ja też byłem tym podekscytowany. Dokonałem zmiany w pliku crontab przez sudo crontab -e, zapisałem zmianę przez Ctrl + Xi cronodszedłem, zakładając, że ją podniosę (ze względu na to, że odpowiedź była bardzo pozytywna). Kilka dni później mój klient informuje, że cron nadal działa w starym cyklu. Więc - szczerze mówiąc - jeśli chcesz być bezpieczny - po prostu zrestartuj cronsystem lub system i nie baw się testami zmarnowanego czasu, co musisz zrobić pomimo tak pozytywnej odpowiedzi.
Dan Nissenbaum
52
Na CentOS z cPanel załatwia sudo /etc/init.d/crond reloadsprawę.
//, Aby ponownie załadować crond, zamiast uruchamiać go w coraz bardziej okropnym systemie, uruchom sudo systemctl reload crond.service.
Nathan Basanese
@NathanBasanese Przeładowanie cronna SystemD jest teraz uważane za czarną magię: sudo systemctl reload crondkończy się niepowodzeniem Failed to reload cron.service: Job type reload is not applicable for unit cron.service.(Ubuntu 18.04). Przeczytaj: Heads off, wszyscy jesteśmy przejęci syndromem: „SystemD, może być tylko jeden”. Jeśli przeładowanie nie odbywa się automatycznie za kulisami, jesteś popsuty! Nawet nie myśl o naprawieniu go, tak jak robiłeś to przez ostatnie 3 (lub więcej) dekad! Przeczytaj: Świat Windows w końcu połknął Debian: Jeśli jest coś dziwnego pod maską, co zrobisz? Uruchom ponownie!
Tino
Ponowne uruchomienie to coś więcej niż przeładowanie. Czy dla Centos nie jest dostępna czysta opcja przeładowania?
Ωmega
@Tino możesz zainstalować cronie
Bob
27
Miałem podobny problem na 16.04 VPS Digital Ocean. Jeśli zmieniasz crontabs, koniecznie uruchom
Niektórzy deweloperzy / opiekunowie polegali na przeładowywaniu, ale nie robią tego iw tym przypadku nie ma możliwości wymuszenia przeładowania. Generuję moje pliki crontab w ramach wdrożenia i chyba, że jakoś zmieni się długość pliku, zmiany nie zostaną ponownie załadowane.
sudo service cron restart
nie był testowany.Odpowiedzi:
Nie.
Ze strony man crona :
Ale jeśli i tak chcesz się upewnić,
lub
źródło
sudo service cron restart
./etc/init.d/cron reload
crond
zamiastcron
.sudo crontab -e
, zapisałem zmianę przezCtrl + X
icron
odszedłem, zakładając, że ją podniosę (ze względu na to, że odpowiedź była bardzo pozytywna). Kilka dni później mój klient informuje, że cron nadal działa w starym cyklu. Więc - szczerze mówiąc - jeśli chcesz być bezpieczny - po prostu zrestartujcron
system lub system i nie baw się testami zmarnowanego czasu, co musisz zrobić pomimo tak pozytywnej odpowiedzi.Na CentOS z cPanel załatwia
sudo /etc/init.d/crond reload
sprawę.Na CentOS7:
sudo systemctl start crond.service
źródło
crond
, zamiast uruchamiać go w coraz bardziej okropnym systemie, uruchomsudo systemctl reload crond.service
.cron
na SystemD jest teraz uważane za czarną magię:sudo systemctl reload crond
kończy się niepowodzeniemFailed to reload cron.service: Job type reload is not applicable for unit cron.service.
(Ubuntu 18.04). Przeczytaj: Heads off, wszyscy jesteśmy przejęci syndromem: „SystemD, może być tylko jeden”. Jeśli przeładowanie nie odbywa się automatycznie za kulisami, jesteś popsuty! Nawet nie myśl o naprawieniu go, tak jak robiłeś to przez ostatnie 3 (lub więcej) dekad! Przeczytaj: Świat Windows w końcu połknął Debian: Jeśli jest coś dziwnego pod maską, co zrobisz? Uruchom ponownie!Miałem podobny problem na 16.04 VPS Digital Ocean. Jeśli zmieniasz crontabs, koniecznie uruchom
źródło
reload
wystarczy. Nie ma potrzebyrestart
. Dzięki. :)W zależności od dystrybucji użycie polecenia „cron reload” może nic nie zrobić. Aby wkleić fragment kodu z init.d / cron (debian squeeze):
Niektórzy deweloperzy / opiekunowie polegali na przeładowywaniu, ale nie robią tego iw tym przypadku nie ma możliwości wymuszenia przeładowania. Generuję moje pliki crontab w ramach wdrożenia i chyba, że jakoś zmieni się długość pliku, zmiany nie zostaną ponownie załadowane.
źródło
wypróbuj ten dla przeładowania centos 7: service crond
źródło
Wypróbuj to:
sudo cron reload
Działa dla mnie na Ubuntu 12.10źródło
Spróbuj to:
service crond restart
, stąd tocrond
niecron
.źródło
crond
usługa nierozpoznana. To działacron
dla mnie. mój system operacyjny to Ubuntu 18.04Są przypadki, w których cron musi zostać zrestartowany, aby skrypt startowy działał. W zrestartowaniu crona nie ma nic złego.
restart cron usługi sudo
źródło
1) W przypadku
/var/spool/cron/crontabs/root
edycji pliku za pomocą klienta SFTP - potrzebujeszservice cron restart
. Usługa przeładowania nie działa.2) Jeśli edytujesz plik
/var/spool/cron/crontabs/root
przez konsolę Linux (nano, mc) - zrestartuj NIE potrzebujesz.3) Jeśli edytujesz crona przez
crontab -e
- zrestartuj NIE potrzebujesz.źródło
Ubuntu 18.04 * Zastosowanie: /etc/init.d/cron {start | stop | status | restart | reload | force-reload}
źródło