Linux上で定期的にプログラムを実行させる際、cronと呼ばれる仕組みを活用します。今回は、cronとは何か、また設定方法をご紹介します。
cronとは?
cronはLinuxのスケジューラ機能です(Windowsでいう「タスクスケジューラ」に該当するもの)。事前にスケジュールを登録しておけば、決まったタイミングで決まったお仕事をしてくれるので、作業実施忘れを防いだり、工数削減に役立ちます。
cron設定方法
A. crontabコマンド
下記コマンドを打つと、cronの設定ファイルが開きます。また、rootユーザでログイン時や、sudoでルート権限ログインをすれば、他のユーザのcronの設定もできます。ちなみに、現在の設定を確認する際は「crontab -l」コマンドで確認できます。
# cronタブコマンドの利用方法 crontab -e # 他のユーザのcron設定方法 crontab -u [ユーザID] -e
B. ファイル直接編集
下記ファイルを編集することで、設定ファイルを直接編集できます。
# cronファイルを直接編集する vim /etc/crontab
C. スクリプト格納
下記cronフォルダにスクリプトを格納するだけで、定期実行されます(。・ω・。)
# 下記フォルダに格納することで、自動的にスクリプトが実行される /etc/cron.hourly # 1時間1回 /etc/cron.daily # 1日1回 /etc/cron.weekly # 1週間1回 /etc/cron.monthly # 1ヶ月1回
ちなみに上記フォルダに格納した際の実行時間は、crontab -e にて確認できます。
# crontab -e ... 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly ...
cron設定ファイルの書き方
cron設定ファイルの書き方は、まとめると下記のとおりです。
- 「分 時 日 月 曜日 コマンド」の並びで設定
- 「* = 毎」の意味
- 「-」で数字をつなげると、範囲指定
- 「,(カンマ)」で区切るとその度
- 「/数字」で[数字]おきに実行
以上です。。って、わかりにくいですよね(ノд・。)いくつか設定例を紹介します!
30 21 * * * # 21:30に実行 0 12 * * * # 12:00に実行 0 12 * * 1 # 毎週月曜の12:00に実行 0,30 12 * * 0,2,3 # 毎週日・火・水曜の12:00と12:30に実行 0-10 17 1 * * # 毎月1日の17:00から17:10まで1分毎に実行 0 17 * * 1-6 # 月曜日から土曜まで17:00に実行 */10 * * * * # 10分おきに実行 0 */1 * * * # 毎時0分に1時間おきに実行 * 1 * * * # 1:00から 1:59まで 1分おきに実行 2 8-20/3 * * * # 8時〜20時までの間、3時間おきに、2分に実行
起動ログの確認方法
cronの起動ログを確認する際は、下記コマンドにて確認可能です。
# cron起動ログを確認するコマンド tail -f /var/log/cron # 10行以上表示させる場合 tail -n [行数] -f /var/log/cron # 該当の文言が入ったログのみ表示する場合 tail -n [行数] -f /var/log/cron | grep [文言]
Linux関連記事
Linux関連のその他記事もまとめてますので、是非お立ち寄りください(。・ω・。)
この記事へのコメントはありません。