かなしくなったのでもう忘れないようにメモ。
現象
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