(UNIX) cronとは、使い方、書式など

unix-cron

 

linuxサーバの管理をしていると、cronを触る機会があると思うので、
cronとは何か、使い方、書式なんかをメモ。

 

cronとは

cronとは、UNIX系OSで動くデーモンの一つで、
決めた時間や日付で定期的にプログラムを実行してくれるものだ。

cron-image

 

自分でプログラムを実行しなくても、指定した時間になると勝手にプログラムを起動してくれるので、ログローテートとかバックアップとか、定期的にやってほしい作業にcronを設定しておくと便利だ。

cronとは
  • UNIX系のOSで動くデーモン(crond)の一つ
  • 決めた時間や日付で定期的にプログラムを実行してくれる

 

 

cronの書式

cronは「crontabファイル」に書き込んでいく。
crontabファイルはログインしているユーザごとにを作成できる

crontabファイルの開き方

下記のコマンドで現在のユーザでのcronを作成(初回のみ)・編集できる。

# crontabファイルを編集する

crontab -e

※crontabの書式に関しては、本記事の後半にて紹介。

 

crontabファイルの書式

crontab -e コマンドでcrontabファイルを開いたら、cron設定を記述していく。
以下のような書式で、一行に付き一つのcronを設定可能だ。

# cronの書式(分 時 日 月 曜日 実行コマンド)

* * * * * [実行コマンド]

左から「分」「時」「日」「月」「曜日」「実行コマンド」で設定する。半角スペースで区切ろう。

 

以下は例として、20日の12時56分に、/var/www/test.shを実行するcronの設定だ。

# 20日の12時56分に、/var/www/test.shを実行

56 12 20 * * sh /var/www/test.sh

 

cronの設定値

cronの各項目の基本的な設定値は以下。全部数字で指定する。

項目
0-59
0-23
1-31
1-12
曜日 0=日、1=月、2=火、3=水、4=木、5=金、6=土、7=日

 

cronの便利な指定方法

cronのちょっと便利な指定の仕方は以下

方法 説明
リスト 10,20,30 コンマで区切った値に対して全て実行
範囲 1-3 ハイフンで繋げた範囲の値に対して全て実行
共存 1,3,6-9 上記「リスト」と「範囲」は共存させることができる
間隔 */10 スラッシュの後に指定した値毎で実行

 

 

cronのサンプル

cronの使い方がわかったところで、実際にパターン別に、いくつかcronの設定例を紹介していく。

①基本的なcronの使い方

10分になったら動くcron

10 * * * * sh /var/www/test.sh

 

13時08分になったら動くcron

08 13 * * * sh /var/www/test.sh

 

20日の12時56分に動くcron

56 12 20 * * sh /var/www/test.sh

 

5月3日の24時00分に動くcron

00 24 3 5 * sh /var/www/test.sh

 

月曜日の13時00分に動くcron

00 13 * * 1 sh /var/www/test.sh

 

②便利指定を使用したcronの設定

 

10分と20分と30分に動くcron

10,20,30 * * * * sh /var/www/test.sh

 

15日から20日の間、13時00分に動くcron

00 13 15-20 * * sh /var/www/test.sh

 

5日、10日、15日から20日の間、13時00分に動くcron

00 13 5,10,15-20 * * sh /var/www/test.sh

 

1時間毎に動くcron

* */1 * * * sh /var/www/test.sh

 

 

crontabコマンドの使い方

cronの書き方序盤で登場したcrontabコマンド。

これはcrontabファイルという、cronの設定を書くファイルを作成・編集するためのコマンドだ

crontab [- u user] {-l|-r|-e}

 

オプション
-e crontabを作成(初回)・編集する。通常は、viエディタが起動する
-l crontabファイルの内容を表示する
-r crontabファイルを削除する
-u user userで指定したユーザのcrontabファイルを操作の対象とする。rootユーザのみ使用可能

 

-rオプションはcrontabファイルを削除するオプションなので、間違って実行しないように気をつけよう

 

まとめ

cronとは、UNIX系OSで動くデーモンの一つで、決めた時間や日付で定期的にプログラムを実行してくれるもの

 

参考:https://e-words.jp/w/cron.html

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。