crontabファイルを変更した後にcronを再起動しますか?


433

crontableファイルを変更した後、cronを再起動する必要がありますか?


8
@leonbloyの回答は無視しないでください。しかし、Linuxの最初のcronジョブ(正しくフォーマットされた1分あたりのジョブ)の実装は、システムを再起動するまで動作しませんでした。sudo service cron restartテストされていません。
地質学2014

1
@geotheory yikes crontabを更新するときに、prodサーバーを再起動する必要がないことを確信しています(そうしていません)。
jcollum 2016年

回答:


614

番号。

以下からのcron manページ

... cronは、すべてのcrontabの変更時間を調べ、変更されたものをリロードします。したがって、crontabファイルが変更されるたびにcronを再起動する必要はありません

しかし、とにかくそれを確実にしたい場合は、

sudo service cron reload

または

/etc/init.d/cron reload

10
cron.dフォルダーを使用する場合、シンボリックリンクされたcrontabは再ロードされません。リロードを強制するにはどうすればよいですか?
CMCDragonkai 2014年

13
ああ、それはとても簡単です。今sudo service cron restartです。
CMCDragonkai 2014年

21
より良いオプションはリロードです-非rootユーザーが開始できます:/etc/init.d/cron reload
Honza

8
@CMCDragonkaiおそらくのcrond代わりにcron
Cees Timmerman、2015

33
この回答の唯一の問題は、それが常に正しいとは限らないことです。質問の下にあるgeotheoryのコメントを参照してください。私もこれに噛み付きました。私はを介してcrontabファイルに変更を加え、によって変更をsudo crontab -e保存し、それをピックアップするとCtrl + X想定してcron立ち去りました(この回答は非常に賛成されているため)。その後、数日後、クライアントはcronがまだ古いサイクルで実行されていると報告します。だから-正直なところ-安全にしたい場合はcron、どちらかまたはシステムを再起動し、無駄な時間テストをいじらないでください。
Dan Nissenbaum、2015年

53

CentOSでcPanelを使うとsudo /etc/init.d/crond reloadうまくいきます。

CentOS7の場合: sudo systemctl start crond.service


3
CentOs 7ラインに感謝
Mathieu de Lorimier

1
//、リロードcrondするには、ますます恐ろしいsystemdで起動するのではなく、を実行しsudo systemctl reload crond.serviceます。
Nathan Basanese、2018年

SystemDでの@NathanBasaneseの再cron読み込みは、ブラックマジックと見なされsudo systemctl reload crondます。失敗しますFailed to reload cron.service: Job type reload is not applicable for unit cron.service.(Ubuntu 18.04)。読む:頭を下げて、私たちは皆、「SystemD、たった1つしかない」というシンドロームに悩まされています。リロードが舞台裏で自動的に行われない場合、あなたは破産しています!過去30年間(またはそれ以上)に行ったように、それを修正することさえ考えないでください!読む:Windowsの世界がついにDebianを飲み込みました:内部で何か奇妙なことがあったら、どうしますか?再起動!
Tino

再起動は単にリロードするだけではありません。Centosで利用できるクリーンなリロードオプションはありませんか?
Ωmega

@Tinoはcronieをインストールできます
Bob

27

16.04 VPSデジタルオーシャンでも同様の問題がありました。crontabを変更する場合は、必ず実行してください

sudo service cron restart 

それは私のために働いた。ありがとう
Tien Nguyen

私だけreloadが十分だと思います。必要なしですrestart。ありがとう。:)
Tien Nguyen

12

ディストリビューションによっては、「cron reload」を使用しても何も起こらない場合があります。init.d / cron(debian squeeze)からスニペットを貼り付けるには:

reload|force-reload) log_daemon_msg "Reloading configuration files for periodic command scheduler" "cron"
    # cron reloads automatically
    log_end_msg 0
    ;;

一部の開発者/メンテナはリロードに依存していましたが、そうではありませんでした。この場合、強制的にリロードする方法はありません。私はcrontabファイルをデプロイの一部として生成しています。ファイルの長さが何らかの理由で変更されない限り、変更はリロードされません。


9

CentOS 7でこれを試してください:サービスcrondの再読み込み


6

これを試してください:sudo cron reload ubuntu 12.10で動作します


Ubuntu 18.04.2 LTSを搭載した私のRaspberry Pi 3+では動作しません
1

3

これを試してください:service crond restart、それでcrondはありませんcron


crond認識されていないサービス。それcronは私のために働きます。私のOSはUbuntu 18.04です
Tien Nguyen

1

起動スクリプトを機能させるために、cronを再起動する必要がある場合があります。cronを再起動しても問題はありません。

sudoサービスcron再起動


0

1)/var/spool/cron/crontabs/rootSFTPクライアント経由でファイルを編集する場合-必要service cron restart。リロードサービスが機能しません。

2)/var/spool/cron/crontabs/rootコンソールLinuxを介してファイルを編集する場合(nano、mc)-再起動する必要はありません。

3)経由でcronを編集する場合crontab -e-再起動する必要はありません。


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