[Linux]crontabを秒単位で実行したい
crontabを秒単位で実行したい
タイトル通り、crontabを秒単位で実行したいんです
どうしてもしたいんです
でも、crontabって通常で指定できるのは、分単位なんです。
ダメなんです!それじゃダメなんです!
でもこうするとできるんです
sleepを使う
まずおさらい
crontabの設定を変更するのは下記コマンドです
$ crontab -e
で、こんな風に書いてみます
* * * * * [command] & sleep 15; [command];
この例の場合、command を15秒ごとに実行します。
開始時間を * * * * * とするところがミソですね
crontab書式おさらい
ちなみに、crontabの書式のおさらいです
* * * * * [command]
という風に記述します
この [ * ] ですが、それぞれに意味があります
左から順に「分」「時」「日」「月」「曜日」となります
たとえばの例
// 毎時 0分 に実行 0 * * * * [command] // 毎時 30分 に実行 30 * * * * [command] // 毎日 16時 に実行 0 16 * * * [command] // 毎月 1〜10日 の 8時 に実行 0 8 1-10 * * [command] // 毎日 1時,5時,8時 に実行 0 1,5,8 * * * [command]
Linuxなら定期実行の指定も簡単ですね!!
macでも使えます
MacOSもUnix系のOSですので、crontabが使用できます
標準でインストールされているので、そのまま利用できますね
やっぱりUnix系のOSはとても便利です