3:root@SERVER:/root # cat wtf.sh
echo "date"
date
echo "su - root -c date"
su - root -c date
3:root@SERVER:/root #
3:root@SERVER:/root # ksh wtf.sh
date
Wed Nov 9 13:15:01 MEZ 2016
su - root -c date
Wed Nov 9 12:15:01 UTC 2016
3:root@SERVER:/root # grep TZ /etc/environment
TZ=MEZ-1MESZ-2,M3.5.0/02:00,M10.5.0/03:00
3:root@SERVER:/root # oslevel -s
6100-09-06-1543
3:root@SERVER:/root #
なぜ違うの?
crontabにUTCが表示されても、システムTZはMEZです。
ベストアンサー1
最近TZに切り替えましたか?
TZを変更した場合は、通常は再smitty chtz_date
起動をお勧めします。
ログアウト/ログインしたばかりの場合、セッションに新しいTZが表示されます。ただし、すでに実行されているプロセスは以前のプロセスについてのみ知っています。
その後、TZ変更を適用するには、すべてのサービスを再起動する必要があります。再起動はできませんので、init
再起動をお勧めします。
あなたの場合、cron
殺して再起動するとうまくいきません。これにより、再起動を回避できます。
再起動しても問題が解決しない場合は、追加してecho $TZ
現在の各環境の変数を確認してください。
また、見ることができますAIXを再起動せずにタイムゾーンをUTCに変更する方法
編集:TZを確認します/etc/environment
が、上書きされていることを確認する必要があります。
/etc/profile
$HOME/.kshrc
$HOME/.profile