Um die Antwort von @ leonbloy nicht zu ignorieren, stellte ich fest, dass die Implementierung des ersten Cron-Jobs meines Linux (ein korrekt formatierter Job pro Minute) erst nach einem Neustart des Systems wirksam wurde. sudo service cron restartwurde nicht getestet.
Geotheory
1
@geotheory yikes Ich hoffe, ich muss meinen Prod-Server nicht jedes Mal neu starten, wenn ich meine Crontab aktualisiere (und ich nicht).
... cron überprüft dann die Änderungszeit auf allen Crontabs und lädt die geänderten neu. Daher muss cron nicht neu gestartet werden, wenn eine crontab-Datei geändert wird
Aber wenn Sie nur sicherstellen möchten, dass es trotzdem erledigt ist,
Wenn Sie den Ordner cron.d verwenden, werden symlinked crontabs nicht neu geladen. Wie kann ich ein Nachladen erzwingen?
CMCDragonkai
13
Ah, so einfach ist das. Es ist jetzt sudo service cron restart.
CMCDragonkai
21
Bessere Option ist das Neuladen - es kann von Nicht-Root-Benutzern initiiert werden:/etc/init.d/cron reload
Honza
8
@CMCDragonkai Möglicherweise crondanstelle von cron.
Cees Timmerman
32
Das einzige Problem mit dieser Antwort ist, dass es nicht immer wahr ist. Siehe den Kommentar der Geotheorie unter der Frage. Auch ich war davon gebissen. Ich nahm eine Änderung an der Crontab-Datei über vor sudo crontab -e, speicherte die Änderung bis Ctrl + Xund ging davon aus, dass ich cronsie abholen würde (da diese Antwort so hoch bewertet wurde). Dann, Tage später, berichtet mein Kunde, dass der Cron immer noch im alten Zyklus läuft. Wenn Sie also auf Nummer sicher gehen möchten, starten Sie entweder crondas System oder das System neu und spielen Sie nicht mit Zeitverschwendungstests herum, die Sie trotz dieser hoch bewerteten Antwort durchführen müssen.
Dan Nissenbaum
52
Unter CentOS mit cPanel sudo /etc/init.d/crond reloadist der Trick.
//, Um neu zu laden crond, anstatt es nur auf dem zunehmend schrecklichen System zu starten, führen Sie es aus sudo systemctl reload crond.service.
Nathan Basanese
@NathanBasanese Das Neuladen cronauf SystemD gilt jetzt als schwarze Magie: sudo systemctl reload crondschlägt mit Failed to reload cron.service: Job type reload is not applicable for unit cron.service.(Ubuntu 18.04) fehl . Lesen Sie: Auf geht's, wir alle sind vom Syndrom betroffen: "SystemD, es kann nur eines geben". Wenn das Nachladen nicht automatisch hinter den Kulissen erfolgt, sind Sie pleite! Denken Sie nicht einmal daran, es zu reparieren, wie Sie es in den letzten 3 (oder mehr) Jahrzehnten getan haben! Lesen Sie: Die Welt von Windows hat Debian endlich verschluckt: Wenn etwas Seltsames unter der Haube ist, was werden Sie tun? Neu starten!
Tino
Neustart ist mehr als nur ein Neuladen. Gibt es für Centos keine saubere Nachladeoption?
Ωmega
@Tino können Sie cronie
Bob
27
Ich hatte ein ähnliches Problem mit 16.04 VPS Digital Ocean. Wenn Sie Crontabs wechseln, stellen Sie sicher, dass Sie ausgeführt werden
Einige Entwickler / Betreuer haben sich auf das Neuladen verlassen, aber nicht. In diesem Fall gibt es keine Möglichkeit, das Neuladen zu erzwingen. Ich generiere meine Crontab-Dateien als Teil einer Bereitstellung, und wenn sich die Länge der Datei nicht irgendwie ändert, werden die Änderungen nicht neu geladen.
sudo service cron restart
wurde nicht getestet.Antworten:
Nein.
Von der Cron-Manpage :
Aber wenn Sie nur sicherstellen möchten, dass es trotzdem erledigt ist,
oder
quelle
sudo service cron restart
./etc/init.d/cron reload
crond
anstelle voncron
.sudo crontab -e
, speicherte die Änderung bisCtrl + X
und ging davon aus, dass ichcron
sie abholen würde (da diese Antwort so hoch bewertet wurde). Dann, Tage später, berichtet mein Kunde, dass der Cron immer noch im alten Zyklus läuft. Wenn Sie also auf Nummer sicher gehen möchten, starten Sie entwedercron
das System oder das System neu und spielen Sie nicht mit Zeitverschwendungstests herum, die Sie trotz dieser hoch bewerteten Antwort durchführen müssen.Unter CentOS mit cPanel
sudo /etc/init.d/crond reload
ist der Trick.Auf CentOS7:
sudo systemctl start crond.service
quelle
crond
, anstatt es nur auf dem zunehmend schrecklichen System zu starten, führen Sie es aussudo systemctl reload crond.service
.cron
auf SystemD gilt jetzt als schwarze Magie:sudo systemctl reload crond
schlägt mitFailed to reload cron.service: Job type reload is not applicable for unit cron.service.
(Ubuntu 18.04) fehl . Lesen Sie: Auf geht's, wir alle sind vom Syndrom betroffen: "SystemD, es kann nur eines geben". Wenn das Nachladen nicht automatisch hinter den Kulissen erfolgt, sind Sie pleite! Denken Sie nicht einmal daran, es zu reparieren, wie Sie es in den letzten 3 (oder mehr) Jahrzehnten getan haben! Lesen Sie: Die Welt von Windows hat Debian endlich verschluckt: Wenn etwas Seltsames unter der Haube ist, was werden Sie tun? Neu starten!Ich hatte ein ähnliches Problem mit 16.04 VPS Digital Ocean. Wenn Sie Crontabs wechseln, stellen Sie sicher, dass Sie ausgeführt werden
quelle
reload
ist genug. Keine Notwendigkeitrestart
. Vielen Dank. :)Abhängig von der Verteilung kann die Verwendung von "cron reload" nichts bewirken. So fügen Sie ein Snippet aus init.d / cron ein (Debian Squeeze):
Einige Entwickler / Betreuer haben sich auf das Neuladen verlassen, aber nicht. In diesem Fall gibt es keine Möglichkeit, das Neuladen zu erzwingen. Ich generiere meine Crontab-Dateien als Teil einer Bereitstellung, und wenn sich die Länge der Datei nicht irgendwie ändert, werden die Änderungen nicht neu geladen.
quelle
Versuchen Sie dies für Centos 7: Service Crond Reload
quelle
Probieren Sie es aus:
sudo cron reload
Es funktioniert für mich unter Ubuntu 12.10quelle
Versuchen Sie dies:
service crond restart
Daher ist escrond
nichtcron
.quelle
crond
nicht anerkannter Service. Es funktioniertcron
für mich. Mein Betriebssystem ist Ubuntu 18.04Es gibt Fälle, in denen cron neu gestartet werden muss, damit das Startskript funktioniert. Es ist nichts Falsches daran, den Cron neu zu starten.
sudo service cron neu starten
quelle
1) Wenn Datei
/var/spool/cron/crontabs/root
über SFTP-Client bearbeitet werden mussservice cron restart
. Nachladeservice funktioniert nicht.2) Wenn Sie die Datei
/var/spool/cron/crontabs/root
über Console Linux (Nano, MC) bearbeiten - Neustart NICHT erforderlich.3) Wenn Sie Cron über bearbeiten
crontab -e
- Neustart NICHT erforderlich.quelle
Ubuntu 18.04 * Verwendung: /etc/init.d/cron {start | stop | status | restart | reload | force-reload}
quelle