![Cron einfach aktivieren oder deaktivieren](https://rvso.com/image/568236/Cron%20einfach%20aktivieren%20oder%20deaktivieren.png)
Immer wenn ich Crons aktivieren muss, kopiere ich die Cron-Datei in den Spool-Ordner.
cp /home/shantanu/shantanu /var/spool/cron/
chown shantanu:root /var/spool/cron/shantanu
Wird das funktionieren? Könnten irgendwelche Probleme auftreten?
Update: Verwendung von CentOS
Antwort1
Die offizielle Möglichkeit, einige Cron-Jobs für bestimmte Benutzer zu deaktivieren, besteht darin, am Anfang crontab -e -u <user>
ein „einzugeben“, #
um es auszukommentieren.
AKTUALISIEREN
Weil die Cron-Datei Teil des Shell-Skripts sein wird.
Versuche dies:
crontab -l -u shantanuo > shantanuo.cron
sed -i 's/^/#/' shantanuo.cron
crontab shantanuo.cron
rm -f shantanuo.cron
Antwort2
EsMaiarbeiten.Aber..
Wie die vorherigen Poster sagten: Tun Sie das nicht. Verwenden Sie crontab -e
. Das direkte Bearbeiten der Dateien kann funktionieren, ist aber keine robuste Vorgehensweise. Ihre Sachen könnten beim Aktualisieren der beteiligten Komponenten jederzeit kaputt gehen. Außerdem ist es nicht sehr portabel, da andere Systeme die Dateien möglicherweise an einem anderen Ort speichern. Es ist, als würden Sie „printf“ selbst implementieren, anstatt das Standard-iolib zu verwenden.
Machen Sie es also nicht auf diese Weise.
bearbeiten: Und wenn Sie die Crontab mit einem Shell-Skript generieren müssen, leiten Sie Ihre Sachen einfach hinein crontab
(es kennt sogar die Pseudodatei „-“! Lesen Sie die Manpage.).
Antwort3
Warum verwenden Sie nicht einfach den Befehl crontab -e
, oder, wenn Sie als Root angemeldet sind, crontab -e -u shantanu
?
Antwort4
Wenn Sie Jobs anhalten möchten, ohne Cron neu starten zu müssen (was sich beispielsweise auf alle 3 Minuten ausgeführte Jobs auswirken könnte), können Sie Sperrdateien verwenden, die einfach in einem Skript erstellt oder entfernt werden.
*/3 0 * * * [ ! -f /tmp/job.lock ] && /path/to/job
Um den Job auszusetzen, verwenden Sie:
touch /tmp/job.lock
Starten Sie die Planung in Cron neu, indem Sie:
rm /tmp/job.lock
Das Schöne daran ist, dass Sie für unterschiedliche Jobs (oder Jobgruppen, wenn sie alle die gleiche Sperrdatei verwenden) unterschiedliche Sperrdateien verwenden können, ohne sich Sorgen über eine Unterbrechung der Planung oder einen Abbruch von Cron durch Fehler beim Bearbeiten der Crontab (per Skript oder manuell) machen zu müssen.