特定のタイムゾーンのcronジョブを設定する方法はありますか?
私の共有ホスティングは米国(バージニア州)にあり、私は英国にいます。 cronジョブを毎週金曜日の1600時間に実行するように設定すると、バージニアで1600時に実行されます。
どのタイムゾーンを選択するかを理解できるようにcronジョブを設定できるかどうか疑問に思いました。夏時間の違いはあまり気になりません。
共有ホスティングプロバイダーにそれについて尋ねたところ、いくつかのcron iniファイルでタイムゾーンを設定できるはずだと言われましたが、見つかりませんでした。
確認すべきだと思います
/etc/default/cron
または単に入力します
Crontab cronfile
そしてあなたは見つけるべきです
TZ=UTC
これは変更する必要があります(たとえば、America/New_York)。 2番目の方法はcronの例で設定されています
5 2 3 * * TZ="America/New_York" /do/command > /dev/null 2>&1
CentOS6サーバーのCRON_TZ
から抜粋したman 5 crontab
環境変数を使用できます。
CRON_TZ
は、cronテーブルに固有のタイムゾーンを指定します。ユーザーは、指定されたタイムゾーンの時間内に選択されたテーブル時間を入力します。ログへの時間は、デーモンが実行されているローカルタイムゾーンから取得されます。
したがって、これをcron
エントリの先頭に追加すると、次のようになります。
CRON_TZ=Europe/London
あなたは良いはずです。
AlexTの答えを拡張するには:
CRON_TZ="Europe/London"
答えです。
p.s. GoDaddyのタイムゾーンの修正を探している人がいる場合は、...
export TZ="Europe/London"
... .bashrcで、コンソールがタイムゾーンで実行されるようにします。