コマンドを定期的に実行してくれる便利機能です。
例えば10分おきに、「/var/log/message」コマンドを出力させたい場合に、このcrontabを使用することで可能になります。
ちなみに今回のOSもCentOSです。
crontabでの設定方法
cronは通常はrootで実行しますが、ユーザー単位でcronを実行したい場合は以下のコマンドで設定をします。
rootで設定 crontab -e 各ユーザー単位での設定 /etc/cron.d/ユーザー名
crontab書式
crontabは以下のようなコマンドの書式となっています。
crontab [-u (user)] ( -e | -l | -r | -i | -s)
各オプションの使用用途
-e
crontabを編集します。
-l
crontab内の設定を表示します。
-r
現在設定されているcrontabを削除します。(※完全に削除されるので使用時は要注意)
-i
-rオプションの前につけることことによって(-ir)事項確認を聞かれるようになります。
「これホントに消すの?」ってなかんじ。
-s
SElinux絡みだがよくわからん。というか、つかわん。
設定書式説明
cronの実行コマンドですが、左から何時の時刻に設定するかをまず設定します。
* * * * * { 実行コマンド }
*はそれぞれ左から順に「分」「時間」「日」「月」「曜日」となっています。
設定の数値は以下のようになっています。
分 0-59
時 0-23
日 1-31
月 1-12
曜日 0-7(0or7は日曜日、月=1,火=2,水=3,木=4,金=5,土=6)
crontab基本設定
それでは実際に設定コマンドを紹介します。
コマンドは「/usr/sbin/ntpdate ntp.nict.jp」をさまざまな設定で実行していきます。
毎時10分になると実行
10 * * * * /usr/sbin/ntpdate ntp.nict.jp
毎日AM9:10分になると実行
10 9 * * * /usr/sbin/ntpdate ntp.nict.jp
毎月15日のAM9時10分になると実行
10 9 15 * * /usr/sbin/ntpdate ntp.nict.jp
5月15日のAM9時10分になると実行
10 9 15 5 * /usr/sbin/ntpdate ntp.nict.jp
5月の毎週月曜日のAM9:10分になると実行
10 9 * 5 1 /usr/sbin/ntpdate ntp.nict.jp
10分ごとに実行
/*10 * * * * /usr/sbin/ntpdate ntp.nict.jp
1時間ごとに事項
00 0-23/1 * * * /usr/sbin/ntpdate ntp.nict.jp
毎日AM9時とPM10時に実行
00 9,22 * * * /usr/sbin/ntpdate ntp.nict.jp
毎週月曜日と金曜日のAM9時とPM10時に実行
00 9,22 * * 1,6 /usr/sbin/ntpdate ntp.nict.jp
毎日AM9時~PM10時で1時間ごとに実行
00 9-22 * * * /usr/sbin/ntpdate ntp.nict.jp
毎月15日のAM9時~PM10時で1時間ごとに実行
00 9-22 15 * * /usr/sbin/ntpdate ntp.nict.jp
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。