Nouplo

毎日0時のcron

0 0 * * *。サーバー自身のタイムゾーンの0時です。

例を読み込むと入力と設定が一時的に変わります。元の内容に戻せます。

0文字
cron
• • • • •
出力
• • • • •

  •••••••••• •••••••
  • •••••••• •••••••
  • • •••••• •••••••
  • • • •••• •••••••
  • • • • •• ••••••••••••••••••••••••
  • • • • •

  ••••••••••
    •             •
    •             •
    •             •••
    •             •••
    ••            •••

  ••••••••••••••••••••• •••••
    •••••••••• •••••  •
    •••••••••• •••••  •
    •••••••••• •••••  •
    •••••••••• •••••  •
    •••••••••• •••••  •

ファイルは端末の外に出ません

このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。

使用例

例:日本時間の0時に日次集計を動かす — JSTのサーバーとUTCのサーバーで式が変わる

ネットショップの売上を1日1回、日本時間の0時に集計するバッチ。このページの 0 0 * * * は「サーバーの時計で0時」なので、日本時間に設定したサーバーならそのまま、UTCのままのクラウドやコンテナでは日本時間の朝9時に動きます。メニューを「下の入力欄で指定する」にして英語で書いた時刻と、組み立てられた式を並べました。

  1. 0 0 * * * を左から読むと、0分・0時・毎日・毎月・毎曜日です。
  2. 日本時間はUTCより9時間進んでいて、サマータイムもありません。UTCのサーバーでは日本時間から9時間引いた時刻を書きます。日本時間0時はUTCの前日15時なので 0 15 * * *、入力欄に every day at 3pm と書くと出る式です。
  3. 下に出る「次の5回の実行」は、このページを開いた端末のタイムゾーン(日本のパソコンならAsia/Tokyo)での時刻です。サーバーの時刻ではありません。
日本時間で動かしたい時刻 入力欄に書く英語 日本時間のサーバー UTCのサーバー
0:00 every day at midnight0 0 * * *0 15 * * *
0:30 at 0:30 every day30 0 * * *30 15 * * *
3:00 every day at 3am0 3 * * *0 18 * * *
9:00 every day at 9am0 9 * * *0 0 * * *
18:00 every day at 6pm0 18 * * *0 9 * * *
0:00と12:00 every day at midnight and noon0 0,12 * * *0 3,15 * * *

集計バッチの式は、日本時間のサーバーなら 0 0 * * *、UTCのサーバーなら 0 15 * * * です。スケジューラーでタイムゾーンを指定できるなら、Asia/Tokyo を指定して 0 0 * * * のままにするほうが、あとから読む人が間違えません。0時は日本ではサマータイムの切り替えもないので、飛ばされたり2回動いたりしません。

使い方

  1. 式はすでに出ています:0 0 * * *。下に並ぶ5つのフィールドは、左から 分・時・日・月・曜日 です。
  2. crontab、CIのスケジュール、クラウドのスケジューラにそのまま貼れます。5つのフィールドの意味はどれでも同じです。
  3. 変えたいときはメニューを「下の入力欄で指定する」に切り替え、スケジュールを英語で書いてください。「every 2 hours」「at 5pm on weekdays」のように書けば、組み立てて読み返します。日本語の文はまだ読めません(読み返しの説明は日本語で出ます)。
  4. 確認すべきは式ではなく読み返しのほうです。下に出る説明は組み立てた式を解析した結果なので、こちらの意図ではなく機械の解釈が出ます。

よくある質問

どこの0時ですか?
実行するマシンのタイムゾーンの0時です。サーバーやコンテナの多くはUTCで、手元の時刻ではありません。現地の0時に動かしたいなら、式ではなくスケジューラ側でタイムゾーンを設定してください。cronにそのフィールドはありません。
GitHub Actions や Kubernetes、クラウドのスケジューラでも同じですか?
5つのフィールドは同じです。違うのはその周りで、@daily のような名前を受け付けるものもあれば、Kubernetes の CronJob は同じ5フィールド、GitHub Actions は混雑時にスケジュール実行が遅れます。式はそのまま貼れますが、時間どおりに動く前提は置かないでください。
すでにある式を読み解きたいのですが。
cron式の解析ページがあります。式を貼ると、次に動く日時の一覧と、各フィールドが許す値を表示します。他人が書いた式を信用する前にやっておく価値のある確認です。
曜日を指定した式をUTCのサーバー用に直すときの注意は?
日本時間の0:00〜8:59は、UTCでは前日です。時刻だけでなく曜日も1つ前にずらします。日本時間の平日0時(0 0 * * 1-5)はUTCでは日曜〜木曜の15時で、0 15 * * 0-4 になります。入力欄に every sunday to thursday at 3pm と書くとこの式が出ます。
「次の5回の実行」の時刻が、サーバーで動いた時刻と合いません。
一覧は、このページを開いている端末のタイムゾーンで計算しています。cronはサーバーのタイムゾーンで動くので、日本のパソコンで見た一覧とUTCのサーバーの実行時刻は9時間ずれます。一覧の見出しにタイムゾーン名(Asia/Tokyoなど)が出ているので、サーバーの設定と見比べてください。
どこかに送信されますか?
されません。式の組み立ても読み返しもブラウザの中で行われ、アップロードはありません。無料、アカウント不要です。

用途別ページ

関連ツール