Czy muszę ponownie uruchamiać crona po zmianie pliku crontable?
Czy muszę ponownie uruchamiać crona po zmianie pliku crontable?
Odpowiedzi:
Nie.
Ze strony man crona :
... 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
Ale jeśli i tak chcesz się upewnić,
sudo service cron reload
lub
/etc/init.d/cron reload
sudo service cron restart
.
/etc/init.d/cron reload
crond
zamiast cron
.
sudo crontab -e
, zapisałem zmianę przez Ctrl + X
i cron
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 zrestartuj cron
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
crond
, zamiast uruchamiać go w coraz bardziej okropnym systemie, uruchom sudo systemctl reload crond.service
.
cron
na SystemD jest teraz uważane za czarną magię: sudo systemctl reload crond
koń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!
Miałem podobny problem na 16.04 VPS Digital Ocean. Jeśli zmieniasz crontabs, koniecznie uruchom
sudo service cron restart
reload
wystarczy. Nie ma potrzeby restart
. 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):
reload|force-reload) log_daemon_msg "Reloading configuration files for periodic command scheduler" "cron"
# cron reloads automatically
log_end_msg 0
;;
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.
Spróbuj to: service crond restart
, stąd to crond
nie cron
.
crond
usługa nierozpoznana. To działa cron
dla mnie. mój system operacyjny to Ubuntu 18.04
1) W przypadku /var/spool/cron/crontabs/root
edycji pliku za pomocą klienta SFTP - potrzebujesz service 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.
Ubuntu 18.04 * Zastosowanie: /etc/init.d/cron {start | stop | status | restart | reload | force-reload}
sudo service cron restart
nie był testowany.