2014/03/02(日)Logwatch で Date::Manip unable to determine TimeZone が出た時の対処法
とりあえず、rootになって現在のタイムゾーンを確認します。
perl -MDate::Manip::TZ -le 'print Date::Manip::TZ->new->zone;'
正常ならば、「Asia/Tokyo」とか出力されます。
ここで自分の場合は、以下のエラーが出ました。
ERROR: failed to load Date::Manip::Lang::english: Can't locate YAML/Syck.pm in @IN
そのため、「cpanm YAML::Syck」でYAML::Syckをインストールしました。(cpanm がないなら「cpan YAML::Syck」でOK)これで自分の場合はエラーが解消されました。
「Date::Manip::TZ」のドキュメントによると、↓の順番でチェックするようなので、出力がおかしかったら妥当なタイムゾーンが出力されるまでいじりましょう。
main TZ
env zone TZ
file /etc/TIMEZONE
file /etc/timezone
file /etc/sysconfig/clock
file /etc/default/init
command "/bin/date +%Z"
command "/usr/bin/date +%Z"
command "/usr/local/bin/date +%Z"
cmdfield /bin/date -2
cmdfield /usr/bin/date -2
cmdfield /usr/local/bin/date -2
gmtoff
詳細は↓ http://search.cpan.org/~sbeck/Date-Manip-6.42/lib/Date/Manip/TZ.pod#DETERMINING_THE_SYSTEM_TIME_ZONE