crontabの書式確認ができるcrontab.guruが非常に便利だったので紹介するよ

crontabの設定ってわかりにくいじゃないですか。
いくら[言葉を尽くして説明](http://linuxjm.osdn.jp/html/cron/man5/crontab.5.html)されたところで、じゃあ実際こうしたらどうなるんだってのがよくわからない。

なので"0 0 13 * 5"って入れたら『13日の金曜日に動くぞ』と教えてくれるサービスを作ってしまおうかと血迷いかけたところでそのまんまなやつを見付けました。
本日紹介するのは、[crontab guru](https://crontab.guru/)という大変便利で素晴らしいサイトです。

# https://crontab.guru/

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/b38b6e83-d7cc-8e2f-4af1-f3f0e723ce99.png)

任意の数値を書き込めば、それが動作するタイミングを教えてくれます。


# [https://crontab.guru/#0_0_13_*_5](https://crontab.guru/#0_0_13_*_5)

![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/2d6c5091-49b9-a029-d05d-44bceba93921.png)

“At 00:00 on day-of-month 13 and on Friday.”
13日と金曜日の0時0分に動くぞ。

13日"の"金曜日ではありません。
こういううっかりを教えてくれるのが助かりますね。

# [https://crontab.guru/#0_0_2-31_\*\_\*](https://crontab.guru/#0_0_2-31_*_*)

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/124772a7-6ed6-5591-e32b-ccd998bf02c7.png)

“At 00:00 on every day-of-month from 2 through 31.”
2-31日に動くぞ。

月初だけ動かしたくないときに。


# [https://crontab.guru/#0_6_\*\_\*\_mon-sat](https://crontab.guru/#0_6_*_*_mon-sat)

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/227fa07a-ae5e-242d-77d2-4184fb65710e.png)


“At 06:00 on every day-of-week from Monday through Friday.”
月曜から金曜の6時0分に動くぞ。

目覚まし。

曜日には、0-7の数字以外に3文字の英字も使うことができます。
ただし標準的な記法ではないので、動作しない環境がある可能性があります。
その旨を注意してくれていますね。


# [https://crontab.guru/#3-4/100_\*\_\*\_\*\_\*](https://crontab.guru/#3-4/100_*_*_*_*)

![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/018d7945-f9d7-e5a7-95da-cc4f26b07dcb.png)

“At every 100th minute from 3 through 4.”
3-4分のうち100分おきに動くぞ。

これ実際は毎時3分だけ動くと思うですが、流石にそこまで解釈してくれたりはしないみたいです。
機械的に解答を出しているだけのようですね。


# [https://crontab.guru/#60\_\*\_\*\_\*\_\*](https://crontab.guru/#60_*_*_*_*)

![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/168520fc-7d89-8fca-5144-be5bd182293c.png)

正しくない指定の場合は、どこが間違っているかを出してくれます。
修正が捗りますね。

# [https://crontab.guru/#@reboot](https://crontab.guru/#@reboot)

![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/22f22e72-508b-7ad7-fe38-0a1e7d2e91e8.png)

“After rebooting.”

これだけ時間指定ではなく、再起動時に実行するという特殊な設定です。
OSの再起動かcrondの再起動かはよくわからない。


# [https://crontab.guru/#@weekly](https://crontab.guru/#@weekly)

![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/995a751b-1aa8-117f-ddeb-7fa9b1d45ab8.png)

“At 00:00 on Sunday.”
日曜日0時0分に動くぞ。

こんな設定あったのか。
しらなかった。

他にも`@daily`とか`@monthly`とか定型的なものが幾つかあるようです。
ただ時刻の設定ができないみたいなので、使い道はちょっと難しいですね。


# random

randomを押すと、なんか適当に設定したcronを表示してくれます。
用途はよくわからない。


# next

![21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/84821894-7d66-14ba-c293-a8ad7ee7a5eb.png)

nextには、次にそのcronが動作する時刻が表示されています。
さらにnextをクリックすると、次の5回いつ動くかを教えてくれます。
これはとても便利。


# 感想

毎時10分、みたいな簡単なのであればわざわざ使う必要もないのですが、少し面倒な条件で指定したい場合のcrontabって確認がとても大変じゃないですか。
そんなときにたいへん頼りになる、非常に有用なサイトです。


# cronitor.io

[crontab.guru](https://crontab.guru/)の運営者は、cron監視ツール[cronitor.io](https://cronitor.io/)を運営しています。
というか`cronitor.io`が本体で`crontab.guru`は撒き餌ですね。

使い方は[Cron監視ツール「Cronitor」の導入](https://qiita.com/exorql/items/a04075d64bb2a8fb572e)などを参照してください。
自力でやるとそれなりに面倒な、cronの監視を簡単に行える便利サービスです。
これもまた便利なサービスですね。