![Wie starte ich einen Cron-Job ohne Neustart?](https://rvso.com/image/31689/Wie%20starte%20ich%20einen%20Cron-Job%20ohne%20Neustart%3F.png)
offlineimap
Ich verwende einen Cron-Job, der alle 2 Minuten aufruft :
*/2 * * * * /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1
Ich musste den Cron-Job beenden, um ein Problem zu beheben. Wie kann ich den Cron-Job dann neu starten (ohne Neustart)? Ich habe diese „Lösung“ online gefunden:
mylogin@myhost:~$ sudo /etc/init.d/cron restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop cron ; start cron. The restart(8) utility is also available.
cron stop/waiting
cron start/running, process 26958
Wenn ich jedoch verwende ps -ef | grep ...
, wird mir der Job nicht angezeigt ... Was ist falsch?
Antwort1
Cron-Ansatz
Wenn Sie über Sudo-Berechtigungen verfügen, können Sie den Cron-Dienst stoppen/starten. Ich glaube, das war die Erklärung der Lösung, die Sie online gefunden haben.
Je nachdem, welche Linux-Distribution Sie verwenden, können Sie entweder diese Befehle ausführen:
# redhat distros
$ sudo /etc/init.d/crond stop
... do your work ...
$ sudo /etc/init.d/crond start
Oder führen Sie diese Befehle aus:
# Debian/Ubuntu distros
$ sudo service cron stop
... do your work ...
$ sudo service cron start
Ansatz zum Sperren des Dateityps
Sie können auch eine Datei „dontrunofflineimap“ beispielsweise im Verzeichnis /tmp ablegen, wenn Sie möchten, dass die Offlineimap-Aufgabe angehalten und für eine Weile nicht ausgeführt wird.
Der Vorgang würde folgendermaßen ablaufen. Sie bearbeiten eine Datei in /tmp wie folgt:
touch /tmp/dontrunofflineimap
Der Cron-Job würde folgendermaßen geändert:
*/2 * * * * [ -f /tmp/dontrunofflineimap ] || /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1
Solange diese Datei vorhanden ist, blockiert sie im Wesentlichen die offlineimap
Ausführung der App. Wenn Sie sie fortsetzen möchten, löschen Sie einfach die /tmp/dontrunofflineimap
Datei.
Antwort2
Eine andere Lösung besteht darin, die Crontab zu bearbeiten und den Job auskommentieren, um ihn zu deaktivieren. Das ist etwas angenehmer, da cron
möglicherweise auch andere Jobs geplant werden.
Folgender Befehl hilft:
crontab -e
Wenn es die Crontab des Root-Benutzers ist und nicht die des Benutzers:
sudo crontab -e
Um den Job auszukommentieren, fügen Sie #
am Anfang der Zeile ein ein. So:
# */2 * * * * /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1
Antwort3
Du kannst lesenhttp://tutscode.com/how-to-use-crontab-in-linux/um weitere Informationen zu crontab zu erhalten.