cron はローカル時間ではなく UTC 時間を使用します

cron はローカル時間ではなく UTC 時間を使用します

cronjob で 00 時に実行するようにスクリプトを設定しましたが、5 時間前、つまり前日の午後 7 時に実行されます。つまり、現地時間の 00 時に実行されるはずでしたが、UTC/GMT の 00 時に実行されました。

     timedatectl output
     ===================
      Local time: Wed 2020-12-02 01:33:31 EST
  Universal time: Wed 2020-12-02 06:33:31 UTC
        RTC time: Wed 2020-12-02 06:33:31
       Time zone: America/Toronto (EST, -0500)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  Sun 2020-11-01 01:59:59 EDT
                  Sun 2020-11-01 01:00:00 EST
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2021-03-14 01:59:59 EST
                  Sun 2021-03-14 03:00:00 EDT

 ls -lrt /etc/localtime output
================================
lrwxrwxrwx. 1 root root 35 Nov 24 11:43 /etc/localtime -> /usr/share/zoneinfo/America/Toronto
date output
============
Wed Dec  2 01:42:28 EST 2020

私のシステムには/etc/default/cronというファイルはありません。しかしCRON デーモンの再起動後、CRON はローカル時間で実行されます問題は再起動前、つまりシステムがインスタンス化/作成された後、cron は UTC 時間を取得しますが、cron がいずれかのノードで再起動されると、ローカル時間で正常に実行されます。/etc/localtime のシンボリック リンクが /usr/share/zoneinfo/America/Toronto に設定される前に、cron がすでにデフォルトのタイムゾーン (UTC) で開始されているようなものでしょうか。そうであれば、cron が開始する前にタイムゾーンを変更するにはどうすればよいでしょうか。

hostnamectl output
==================
   Static hostname: abcxyz-0
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 88d24fe7c825442dbfd3b56fd0b24980
           Boot ID: 384ea93dcb604bb2ac5bec074539a7cb
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64

私は助けを求めようとしたhttps://askubuntu.com/questions/54364/crontab のタイムゾーンの設定方法そしてhttps://serverfault.com/questions/791713/what-time-zone-is-a-cron-job-using#:~:text=Cron%20job%20uses%20the%20server's,the%20date%20command%20in%20terminal.しかし、それらは何の役にも立たなかった。

答え1

設定していない場合ハードウェアマッチする時間システム時間が経てば、cronは機能しなくなるハードウェア時間

個人的には、サーバーを何でもしかしUTC - 現地時間を使用どれでも2つ以上の趣味の箱を管理する場合、フォームは非常に複雑になります

私は50万ものマシンを稼働させている環境にいたことがあるサーバエンドポイント(デスクトップは言うまでもありません)。

現地時間を使用しないでください。

関連情報