LoginSignup
40
27

More than 3 years have passed since last update.

Amazon CloudWatch Events で cron 式を使う場合は時差に気をつける

Posted at

Amazon CloudWatch Events の cron 式で使うタイムゾーンは UTC

ルールのスケジュール式 - Amazon CloudWatch Events

cron または rate 式を使用して、CloudWatch イベント で自動化されたスケジュールに基づいて自己トリガーするルールを作成できます。すべてのスケジュールされたイベントは UTC タイムゾーンを使用し、スケジュールの最小精度は 1 分です。

日本とロンドンとの時差

日本標準時 (JST) と協定世界時 (UTC) との時差は、9時間。

Ruby で時差を求める - Qiita

東京が 0時のとき、ロンドンは前日の15時、ニューヨークは前日の10時、ライン諸島は同日の 5時

2018年 1月 1日 0時: 東京
2017年12月31日15時: ロンドン

フォーマットの違いを意識しておく

crontab のフィールド・フォーマット

分 時 日 月 曜 コマンド

Amazon CloudWatch Events の cron 式フォーマット

crontab とちがって「年」のフィールドがある。

cron(分 時 日 月 曜 年)

また、曜日のフィールドの「*」「?」の扱いにも気をつける。

ルールのスケジュール式 - Amazon CloudWatch Events

ワイルドカード * (アスタリスク) にはフィールドのすべての値が含まれます。時間フィールドの、* にはすべての時間が含まれています。[*] を日および曜日フィールドの両方に使用することはできません。一方に使用する場合は、もう一方に [?] を使用する必要があります。

? (疑問符) ワイルドカードはいずれかを意味します。[日] フィールドに 7 と入力し、7 日が何曜日であってもかまわない場合、[曜日] フィールドに ? を入力できます。

具体例

例えば毎日0時0分に cron で実行している処理があった場合は、

0 0 * * * /bin/sh /home/foo/bar.sh

以下のように、9時間前 (15時0分) の cron 式に置き換える。

cron(0 15 * * ? *)

参考資料

40
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
27