cronの起動・停止・再起動・状態確認, cronの実行ログ
cronの起動・停止・再起動・状態確認について解説します。
cronはジョブの定期自動実行を行うサーバーです。
cronの状態確認
cronの状態確認は、systemctlコマンドの「status」を使って行います。
sudo systemctl status cron
起動している場合
起動している場合は、以下のように表示されます。
● cron.service - Regular background program processing daemon Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-12 11:51:51 JST; 1 weeks 0 days ago Docs: man:cron(8) Main PID: 1349 (cron) Tasks: 1 (limit: 9479) CGroup: /system.slice/cron.service mq1349 /usr/sbin/cron -f May 20 07:17:01 development-batch CRON[88341]: pam_unix(cron:session): session closed for user root May 20 08:17:01 development-batch CRON[92378]: pam_unix(cron:session): session opened for user root by (uid=0) May 20 08:17:01 development-batch CRON[92379]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 20 08:17:01 development-batch CRON[92378]: pam_unix(cron:session): session closed for user root May 20 09:17:01 development-batch CRON[96646]: pam_unix(cron:session): session opened for user root by (uid=0) May 20 09:17:01 development-batch CRON[96647]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 20 09:17:01 development-batch CRON[96646]: pam_unix(cron:session): session closed for user root May 20 10:17:01 development-batch CRON[100899]: pam_unix(cron:session): session opened for user root by (uid=0) May 20 10:17:01 development-batch CRON[100900]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 20 10:17:01 development-batch CRON[100899]: pam_unix(cron:session): session closed for user root
停止している場合
停止している場合は、以下のように表示されます。
● cron.service - Regular background program processing daemon Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled) Active: inactive (dead) since Wed 2020-05-20 11:04:56 JST; 1min 22s ago Docs: man:cron(8) Process: 1349 ExecStart=/usr/sbin/cron -f $EXTRA_OPTS (code=killed, signal=TERM) Main PID: 1349 (code=killed, signal=TERM) May 20 08:17:01 development-batch CRON[92379]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 20 08:17:01 development-batch CRON[92378]: pam_unix(cron:session): session closed for user root May 20 09:17:01 development-batch CRON[96646]: pam_unix(cron:session): session opened for user root by (uid=0) May 20 09:17:01 development-batch CRON[96647]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 20 09:17:01 development-batch CRON[96646]: pam_unix(cron:session): session closed for user root May 20 10:17:01 development-batch CRON[100899]: pam_unix(cron:session): session opened for user root by (uid=0) May 20 10:17:01 development-batch CRON[100900]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 20 10:17:01 development-batch CRON[100899]: pam_unix(cron:session): session closed for user root May 20 11:04:56 development-batch systemd[1]: Stopping Regular background program processing daemon... May 20 11:04:56 development-batch systemd[1]: Stopped Regular background program processing daemon.
cronの起動
cronの起動は、systemctlコマンドの「start」を使って行います。sudoコマンドを使って、root権限で実行します。
sudo systemctl start cron
起動が成功しても、成功したというメッセージは返ってきません。状態確認を行ってください。
cronの停止
cronの停止は、systemctlコマンドの「stop」を使って行います。sudoコマンドを使って、root権限で実行します。
sudo systemctl stop cron
停止が成功しても、成功したというメッセージは何も返ってきません。状態確認を行ってください。
cronの再起動
cronの再起動は、systemctlコマンドの「restart」を使って行います。sudoコマンドを使って、root権限で実行します。
sudo systemctl restart cron
restartは単に、stopコマンドを実行して、startコマンドを実行します。HTTPクライアントからの処理を切断してしまうので、通常はreloadコマンドを使用しましょう
再起動が成功しても、成功したというメッセージは返ってきません。状態確認を行ってください。
cronの実行ログを見るには
cronなどのサーバーは、systemdというプログラムによって集中的に管理されています。
systemdのログにcronの起動・停止ログが出力されています。
systemdのログを見るにはjournalctlコマンドを使います。「-u」オプションでユニット「cron」を指定します。sudoで実行しないとcronのログが見れないので注意してください。ログの最後の部分だけ見たい場合は「-r」オプションを組み合わせます。
sudo journalctl -r -u cron
ログのサンプルです。
Jul 23 14:40:03 shinshina-development-app-00000001 CRON[35501]: pam_unix(cron:session): session closed for user myapp Jul 23 14:40:01 shinshina-development-app-00000001 CRON[35502]: (myapp) CMD ($HOME/$SDIR/customer/osasoi_many_view_bukken.pl) Jul 23 14:40:01 shinshina-development-app-00000001 CRON[35501]: pam_unix(cron:session): session opened for user myapp by (uid=0) Jul 23 14:39:01 shinshina-development-app-00000001 CRON[35409]: pam_unix(cron:session): session closed for user root Jul 23 14:39:01 shinshina-development-app-00000001 CRON[35410]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi) Jul 23 14:39:01 shinshina-development-app-00000001 CRON[35409]: pam_unix(cron:session): session opened for user root by (uid=0) Jul 23 14:35:37 shinshina-development-app-00000001 CRON[35332]: pam_unix(cron:session): session closed for user myapp Jul 23 14:35:05 shinshina-development-app-00000001 CRON[35331]: pam_unix(cron:session): session closed for user myapp Jul 23 14:35:05 shinshina-development-app-00000001 CRON[35330]: pam_unix(cron:session): session closed for user myapp Jul 23 14:35:01 shinshina-development-app-00000001 CRON[35329]: pam_unix(cron:session): session closed for user root Jul 23 14:35:01 shinshina-development-app-00000001 CRON[35336]: (myapp) CMD ($HOME/$SDIR/customer/oshirase_osusume_bukken.pl)
自動実行されたジョブを確認できます。
cronの設定ファイル
cronの設定ファイルについては、別の記事で解説します。