Cronサービスが起動に失敗する

Cronサービスが起動に失敗する

Ubuntu 14.04 を使用していますが、cron サービスを開始しようとしていますが、成功しません。実行後に常に次のメッセージが表示されますservice cron start:

制御プロセスがエラー コードで終了したため、cron.service のジョブが失敗しました。

systemctl status cron.servicecron サービスは読み込まれましたが、失敗しました:

cron.service
   Loaded: loaded (/etc/init.d/cron; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2018-06-15 09:06:19 AWST; 6min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 22707 ExecStart=/etc/init.d/cron start (code=exited, status=1/FAILURE)

 cron[22707]: Rather than invoking init scripts through /etc/init.d, use the service(8)
 cron[22707]: utility, e.g. service cron start
 cron[22707]: initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
 cron[22707]: Since the script you are attempting to invoke has been converted to an
 cron[22707]: Upstart job, you may also use the start(8) utility, e.g. start cron
 cron[22707]: start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
 systemd[1]: cron.service: Control process exited, code=exited status=1
 systemd[1]: Failed to start cron.service.
 systemd[1]: cron.service: Unit entered failed state.
 systemd[1]: cron.service: Failed with result 'exit-code'.

cron サービスを正常に開始する方法についてのヒントはありますか?

答え1

cron サービスがアクティブでないか、失敗しているか、再起動しようとしている場合は、それを強制終了しても問題はありません。次の手順に従います。

以下を使用してそれを強制終了します:

pkill -f crond

以下を使用して起動します:

systemctl start crond

crond ステータスを確認します。

systemctl status cron.service

答え2

私も同様の問題に遭遇しました。私が見たのは次の通りです。

 systemctl status crond.service
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2019-02-07 13:34:38 EST; 2min 37s ago
  Process: 31470 ExecStart=/usr/sbin/crond -n $CRONDARGS (code=exited, status=1/FAILURE)
 Main PID: 31470 (code=exited, status=1/FAILURE)

これを解決するために、cron ログを確認しました。私は rhel で実行しており、ログは /var/log/cron にあります。私の問題はこれが原因でした...(CRON) DEATH (/var/run/crond.pid をロックできません。他の pid は 31364 の可能性があります): リソースが一時的に利用できません

だから私は

pkill -f crond

それから

systemctl start crond.service 

その後は正常に戻ります

systemctl status crond.service
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-02-07 13:37:19 EST; 1s ago
 Main PID: 31490 (crond)
   CGroup: /system.slice/crond.service
           └─31490 /usr/sbin/crond -n

関連情報