Ubuntuサーバー構築入門

  • Ubuntu 20
  • Ubuntu 18
  • Ubuntu 16

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コマンドを使ます。grepコマンドで「cron」を絞り込みます。大文字・小文字を区別しない「-i」オプションを使うと「cron」「cron」の両方が拾えます。sudoで実行しないとcronのログが見れないので注意してください。

sudo journalctl | grep -i cron

ログの最後の部分だけ見たい場合はtailコマンドを組み合わせましょう。

sudo journalctl | grep -i cron | tail -20;

ログのサンプルです。

May 20 10:50:01 tk2-261-40258.vs.sakura.ne.jp CROND[15947]: (root) CMD (/usr/lib64/sa/sa1 1 1)
May 20 10:50:01 tk2-261-40258.vs.sakura.ne.jp CROND[15948]: (admins) CMD ($HOME/$SDIR/customer/osasoi_many_view_bukken.pl)
May 20 10:54:01 tk2-261-40258.vs.sakura.ne.jp CROND[15958]: (root) CMD (run-parts /etc/cron.hourly)
May 20 10:55:01 tk2-261-40258.vs.sakura.ne.jp CROND[15967]: (admins) CMD ($HOME/$SDIR/customer/write_osasoi_message.pl)
May 20 10:55:01 tk2-261-40258.vs.sakura.ne.jp CROND[15968]: (admins) CMD ($HOME/$SDIR/customer/write_oshirase_message.pl)
May 20 10:55:01 tk2-261-40258.vs.sakura.ne.jp CROND[15969]: (admins) CMD ($HOME/$SDIR/customer/oshirase_osusume_bukken.pl)
May 20 11:00:01 tk2-261-40258.vs.sakura.ne.jp CROND[15985]: (root) CMD (/usr/lib64/sa/sa1 1 1)
May 20 11:00:01 tk2-261-40258.vs.sakura.ne.jp CROND[15986]: (admins) CMD ($HOME/$SDIR/customer/osasoi_many_view_bukken.pl)
May 20 11:05:01 tk2-261-40258.vs.sakura.ne.jp CROND[16000]: (admins) CMD ($HOME/$SDIR/customer/oshirase_osusume_bukken.pl)
May 20 11:05:01 tk2-261-40258.vs.sakura.ne.jp CROND[15998]: (admins) CMD ($HOME/$SDIR/customer/write_osasoi_message.pl)
May 20 11:05:01 tk2-261-40258.vs.sakura.ne.jp CROND[15999]: (admins) CMD ($HOME/$SDIR/customer/write_oshirase_message.pl)

自動実行されたジョブを確認できます。

cronの設定ファイル

cronの設定ファイルについては、別の記事で解説します。