【cron】秒間隔で定期実行する為の設定方法
コマンドを定期実行させたい場合に利用するcronですが、普通に利用すると最小で1分間隔までしか設定できません。用途によっては秒間隔で定期実行したい場合もありますので、その設定方法をメモ書き程度に記載します。
秒間隔実行の設定方法
cronの最小単位は1分毎なので、そのままでは秒単位で実行は出来ません。なので for文を利用して秒単位の定期実行を実現します。
・n秒おきに実行
* * * * * for i in `seq 0 {n} 59`;do (sleep ${i} ; {実行コマンド} ) ; done;
このように設定するとn秒間隔で{実行コマンド}を定期実行が可能になります。
例えば20秒毎にコマンドを実行したい場合は
* * * * * for i in `seq 0 20 59`;do (sleep ${i} ; /path/to/script param1 param2 ) ; done;
このようになります。
cronの設定の注意点
cronのスケジュール設定は左から順に下記のようになっています。
分 :0-59 時 :0-23 日 :1-31 月 :1-12 曜日:0-7 (0,7は日曜日 1:月曜日,2:火曜日 ...)
ここで注意したいのが日付と曜日はor条件という点です。
例えば「2/14 日曜日 12時」に実行したいコマンドを下記のように設定してしまうと、
* 12 14 2 0 /path/to/script param1 param2
実際には 「2/14 12時」 または 「2月 日曜日 12時」 という条件となるため、意図せず毎週日曜日に実行されてしまう事になります。
cronを設定する場合は気をつけましょう!
ad_right_top
関連記事
-
-
linux:CentOSにwgetをインストール
説明するまでもないですが、http/ftpでファイルダウンロードができるwgetのインストール方法で
-
-
Linux:タイムゾーン(timezone)の変更方法
apacheのログを確認していたところ、時刻がずれていたので調べてみた結果、 タイムゾーンがUTC
-
-
linux:スワップ(swap)領域の作成と削除
基本的には搭載しているメモリ内で上手く運用することが望ましいですが、古いサーバーを使っていてメモリを
-
-
linux:OSの確認方法
たいていの場合は使っているlinuxの種類は把握していると思いますが、忘れてしまった場合や他人のサー