ツール
PR

cron式メーカー&次回実行チェッカー|日本時間からActions・EventBridge・Linux・Springのスケジュールを生成

saratogax
記事内に商品プロモーションを含む場合があります

日本時間で「いつ動かしたいか」を選ぶと、GitHub Actions・AWS EventBridge・Linux crontab・Spring @Scheduled 用の cron 式をまとめて生成するツールです。

Actions や EventBridge は cron を UTC で解釈するため、JST のつもりで書くとズレます。このツールがUTC変換や曜日のずれも自動計算するので、出てきた式をコピーするだけです。

逆に、既存の cron 式から次の実行日時を日本時間で確認するモードも備えています。

※計算はブラウザ内で行います。日本時間(JST)を基準に各環境のcronを生成します。

「日本時間から作る」では、パターンと時刻を選ぶと各環境の式が出ます。「cron式を調べる」では、式と環境を選ぶと次の5回の実行日時(JST/UTC)が出ます。

なぜ日本時間を起点にすると安全なのか

GitHub Actions の schedule と AWS EventBridge は cron を UTC で解釈します。

「毎朝9時(JST)」のつもりで 0 9 * * * と書くと、実際は18時(JST)に動いてしまうのが典型的な事故です。9時(JST)に動かすには UTC で 0 0 * * * が正解。

このツールは日本時間を入力にして UTC への変換を肩代わりするので、この種の取り違えを防げます。

プラットフォーム別の違い

環境項目数曜日タイムゾーン
Linux crontab50〜6(0=日)サーバーのTZ(JST運用が多い)
GitHub Actions50〜6(0=日)UTC固定
k8s CronJob50〜6(0=日)UTC(timeZone指定可)
AWS EventBridge61〜7(1=日)UTC(Schedulerはtz指定可)
Spring @Scheduled6(秒始まり)0〜7(0/7=日)zone属性で指定可
※表は横スクロールできます

特に間違えやすいのが曜日番号です。Linuxの「1」は月曜ですが、EventBridgeの「1」は日曜を指します。このツールは各環境の番号体系で出力するので、取り違えを避けられます。

「毎月1日の早朝(JST)」だけ注意が必要な理由

JST から UTC へは9時間引きます。そのため0〜8時台(JST)はUTCだと前日になります。

多くのケースはこれで問題ありません。毎週なら曜日が1つ前にずれるだけ(月曜→日曜)、毎月でも2日以降なら前日(15日→14日)にずらせば表現できます。

唯一やっかいなのが「毎月1日の0〜8時台(JST)」です。UTCの前日が前月末日になり、末日は月により28〜31日と変わるため、UTC固定のActions/EventBridgeでは標準cron1本で表現できません。

このツールはそのケースだけ警告を出し、JSTのまま動かせる Linux(TZ=JST)・Spring(zone=Asia/Tokyo)の利用や、EventBridge の L(末日)指定をおすすめします。誤ったcronは出しません。

EventBridge の L(月末)・W(直近平日)・#(第n曜日)といった拡張記法は、誤判定を避けるため本ツールでは非対応としています。

関連記事

あわせて読みたい
GitHub Actionsのバージョン指定 vs コミットハッシュ指定:どちらを使うべき?セキュリティ視点で解説
GitHub Actionsのバージョン指定 vs コミットハッシュ指定:どちらを使うべき?セキュリティ視点で解説
あわせて読みたい
GitHub ActionsでPRを自動作成する方法|gh CLIへの移行と落とし穴
GitHub ActionsでPRを自動作成する方法|gh CLIへの移行と落とし穴
あわせて読みたい
Linuxのdateコマンドでよく使う日付フォーマット(1日前後、1ヶ月前後など)
Linuxのdateコマンドでよく使う日付フォーマット(1日前後、1ヶ月前後など)

まとめ

  • 日本時間を起点に、各環境(Actions/EventBridge/Linux/Spring/k8s)のcronを生成できる
  • UTC変換・曜日番号の違い・曜日/日のずれを自動で計算する
  • 「毎月1日の早朝(JST)」だけは標準cronで表現できないため警告+代替案を提示
  • 逆方向(cron式→次の実行日時をJSTで確認)も可能

💡 ブックマークしておくと、ワークフローやスケジュールの設定前に正しいcronをすぐ用意できて便利です。

あわせて読みたい
エポックミリ秒・エポック秒⇔日時 自動変換ツール|13桁/10桁の違い・JavaScript・Excel対応
エポックミリ秒・エポック秒⇔日時 自動変換ツール|13桁/10桁の違い・JavaScript・Excel対応

参考(出典)

ABOUT ME
saratoga
saratoga
フリーランスエンジニア
仕事にも趣味にも IT を駆使するフリーランスエンジニア。技術的な TIPS や日々の生活の中で深堀りしてみたくなったことを備忘録として残していきます。
記事URLをコピーしました