Linux初心者~cronについて~

2017年12月20日システムcron,crontab,Linux

はじめに

システム運用していると良く使われるcronについてまとめてみました。

Linux初心者~cronについて~
Linux初心者~cronについて~

cronとは

簡単に言うと、定期的に実行したいこと(ログのローテートやバックアップなど)をcrond(cronデーモン)で管理し行うことができる機能です。

crontabとは

定期実行するジョブを設定するファイルで、ユーザ毎に用意される。
また、定期実行するジョブを設定するには、crontabコマンドを使用することで出来る。

crontabコマンド

  • オプション
    オプション内容
    -uユーザーを指定
    -i一覧で表示
    -r設定を全消去
    -e設定するエディタを起動
  • 表示
# sudo -u ユーザ名 crontab -l
  • 編集
# sudo -u ユーザ名 crontab -e

crontab設定

  • 形式
分 時 日 月 曜日 <実行コマンド>
  • 設定例
    内容
    * 15 * * * echo “hello."15時になる度に実行
    */5 * * * * echo “hello."5分毎に実行
    5,10 2 * * * echo “hello."午前2時5分と午前2時10分に実行
    5 2-5 * * * echo “hello."午前2時5分、午前3時5分、午前4時5分、午前5時5分に実行
    43 23 * * *23:43に実行
    12 05 * * *05:12に実行
    0 17 * * *17:00に実行
    0 17 * * 1毎週月曜の 17:00に実行
    0,10 17 * * 0,2,3毎週日,火,水曜の 17:00と 17:10に実行
    0-10 17 1 * *毎月 1日の 17:00から17:10まで 1分毎に実行
    0 0 1,15 * 1毎月 1日と 15日と 月曜日の 0:00に実行
    42 4 1 * *毎月 1日の 4:42分に実行
    0 21 * * 1-6月曜日から土曜まで 21:00に実行
    0,10,20,30,40,50 * * * *10分おきに実行
    */10 * * * *10分おきに実行
    * 1 * * *1:00から 1:59まで 1分おきに実行
    0 1 * * *1:00に実行
    0 */1 * * *毎時 0分に 1時間おきに実行
    0 * * * *毎時 0分に 1時間おきに実行
    2 8-20/3 * * *8:02,11:02,14:02,17:02,20:02に実行
    30 5 1,15 * *1日と 15日の 5:30に実行
    */5 * * * *0分、5分、10分、……、55分
    1-56/5 * * * *1分、6分、11分、……、56分
    2-57/5 * * * *2分、7分、12分、……、57分
    3-58/5 * * * *3分、8分、13分、……、58分
    4-59/5 * * * *4分、9分、14分、……、59分

設定ファイル

  • ユーザ名の自動タスク設定ファイル
/var/spool/cron/ユーザ名
  • 毎時、毎日、毎月、毎週の自動タスクのメイン設定ファイル
/etc/crontab

ログファイル

# less /var/log/cron

参考

UT
UTの日常

当ブログ(UTの日常)を運営しているUTは「プログラミング関係の仕事をしている30代1児の父親」です。詳しくは「UTのプロフィール」をご覧ください。

2017年12月20日システムcron,crontab,Linux