LoginSignup
9
9

More than 5 years have passed since last update.

Jenkinsの時間とシェル実行時のdateでとれる時間が違う

Last updated at Posted at 2014-06-27

かなしくなったのでもう忘れないようにメモ。

現象

Jenkinsの時間はJSTで正しく動いており、指定した時間に実行されているが、前日の日付やらをファイル名にくっつけようと「シェルの実行」でdate +%-m --date "1 day ago"とか朝8時にしていたら一昨日の日付をとっていた。

確認結果

Jenkinsさんの時間表示は正しいのに…と思っていたのですが、9時以降はjobのなかの日付が正しくなるので、9って。。。と思ってマシンに普通に入ってみてみると、、

$ date
2014年  6月 26日 木曜日 23:39:00 UTC

UTC!!

Jenkinsさん自体は日付をJSTで解釈していたのですが、マシンはUTCで解釈しており、「シェルの実行」でdateとか打つとマシンの方の解釈しているタイムゾーンをとるみたいです。
時間、Jenkinsさんの時間だけじゃなくてちゃんとマシンでも確認するようにします。そして難しいことになるので、ちゃんと合わせたいと思います。。

みなさんも気をつけてください…

蛇足で日付の直し方メモ

$ sudo strings /etc/localtime
TZif2
TZif2
UTC0

$ sudo cp /etc/localtime /etc/localtime.20140627org
$ sudo cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ sudo strings /etc/localtime
TZif2
TZif2
JST-9

$ date
2014年  6月 27日 金曜日 08:43:17 JST

追記:
コメントいただいたのでこっちも直しておきました。

$ sudo cat /etc/sysconfig/clock 
ZONE="Asia/Tokyo"
UTC=false
9
9
2

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
9
9