新しいスケジュールを追加または変更するたびに、cronまたはcrondを再起動する必要がありますか?


29

ジョブをスケジュールすると、すぐに適用されるものもあれば、再起動後に適用されるものもあります。新しいcronジョブを追加した後、再起動croncrond)することをお勧めしますか?それを適切に(特にDebianシステムで)行う方法と、通常のユーザーの場合でもsudo(などsudo service cron restart)でそれを行うべきですか?

私は試した:

/etc/init.d/cron restart

動作していないようで(動作も動作もし/etc/init.d/cron stopないservice cron stop)、戻りコード1で完了します。

メッセージ出力の一部を次に示します。

起動しようとしているスクリプトはUpstartジョブに変換されているため、stop(8)ユーティリティを使用することもできます。たとえば、cronを停止します。type = "method_call"、sender = ":1.91"(uid = 1000 pid = 3647 comm = "stop cron")interface = "com.ubuntu.Upstart0_6.Job" member = "Stop" error name = "(unset)" requested_reply = "0" destination = "com.ubuntu.Upstart"(uid = 0 pid = 1 comm = "/ sbin / init")

(どういう意味ですか?)

回答:


18

再起動する必要はありませんcron。crontabファイル(/etc/crontabまたはユーザーのcrontabファイル)の変更が認識されます。

/ etc / crontabの先頭におそらくあります(cronそのIIRCのVixie実装がDebianのものである場合):

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

特定の変更が実装されていないのは、たとえば/etc/cron.daily、毎日の実行がすでに行われているものに追加した場合です。

表示されるメッセージは、システムでcronを再起動する古い方法を使用しているためです。推奨される方法(ただし、cronファイルを編集する場合は不要):

 restart cron

もちろん、@ reboot cronジョブの効果を確認するには、再起動する必要があります


それは、再起動ジョブが、すべてではなかったのn ..通常のユーザーのためではない仕事のcron分...と再起動は、古いものと新しい方法の両方で、sudoで動作するようです..しかし
正確に

crontabをどのように編集しますか?ユーザーとしてcrontab -e
ティモ14年

はい.. crontab -e..私は使用するものです
正確に

Vixie Cronがありますか(見てman cron->名前)
ティモ14年

1
変更を保存するだけでは不十分であり、スケジュールされたジョブはテキストエディター(私が使用しているnano)が閉じられた後にのみ適用されるようです。..そしてそれが混乱を引き起こしたのかもしれない…
正確

3

再起動は必要ない場合があります。私がコメントで言ったよう、タスクを編集するために使用したテキストエディター(cronジョブの編集に割り当てられたエディター)を閉じる必要があります。内容を保存するだけでは十分ではありません。(これは私が経験したことです。ファイルを開いたまま+ でタスクを編集しnanoて保存しても、編集はすぐには適用されませんが、エディターを+ で閉じた後にのみ適用されます。)CtrlOCtrlX

そして(terdonによるこの回答で述べたように、cronデーモンは毎分、ジョブが実行されるかどうかを確認し、必要なジョブをトリガーします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.