Cron einfach aktivieren oder deaktivieren

Cron einfach aktivieren oder deaktivieren

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.

verwandte Informationen