[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はとても便利です