概要
Linux系のOSでは、cron、crontabコマンドを使ってさまざまな処理をスケジュール管理&自動化を実装できる
cronとは
cronとは、Linux(UNIX系オペレーティングシステム)で使用されるクロック・デーモン
特定の時間や間隔で自動的にスクリプトやコマンドを実行するために使用される
crontabとは
crontabとは、cronを使用してスケジュールされたタスクの一覧を管理するためのファイルおよびコマンド
crontabファイルには、どのタスクをいつ実行するかを指定するためのエントリが含まれる
crontabの基本的な使用方法
このコマンドを実行すると、ユーザーのcrontabファイルを編集するためのテキストエディタが開く ※初めて実行する場合は、使用するエディタの選択を求められる
crontab -e
crontabファイルのフォーマット
crontabの基本的な形式は以下の通りとなる
* * * * * command_to_execute
各フィールドの意味は以下の通り:
- 分(0 - 59)
- 時(0 - 23)
- 日(1 - 31)
- 月(1 - 12)
- 曜日(0 - 7、0と7は日曜日を意味する)
例えば、毎日午前2時30分に実行するコマンドのエントリは次のようになる:
302 * * * /path/to/command
よく使われるコマンド
現在のユーザーのcrontabエントリを表示:
sh crontab -l
現在のユーザーのcrontabエントリを削除:
sh crontab -r
他のユーザーのcrontabエントリを編集(root権限が必要):
sh sudo crontab -u username -e
特殊な文字
*
: 任意の値,
: 複数の値を指定(例:1,2,3
)-
: 範囲を指定(例:1-5
)/
: ステップを指定(例:*/5
は5分毎)
参考例
- 毎時0分に実行:
0 * * * * /path/to/command
- 毎日午前3時15分に実行:
153 * * * /path/to/command
- 毎月1日の午前5時に実行:
051 * * /path/to/command
- 毎週月曜日の午前6時に実行:
06 * * 1 /path/to/command