我试着在下面运行 logwatch
[root@machine cron.daily]# ./0logwatch
ERROR: Date::Manip unable to determine TimeZone.
Execute the following command in a shell prompt:
perldoc Date::Manip
The section titled TIMEZONES describes valid TimeZones
and where they can be defined.
我的日期如下
root@machine cron.daily]# date
Thu Aug 23 06:25:21 GMT 2012
现在根据各种论坛中的详细信息,我尝试通过设置来解决此问题
/etc/timezone to “+0800”
但它没有用
我/etc/localtime
指向/usr/share/zoneinfo/GMT
并由puppet管理
我该如何解决这个问题?我仍然希望我所有的机器都在 GMT 时区。
编辑:
遗憾的是,
这两项更改均无效:
[root@machine cron.daily]# cat /etc/TIMEZONE
UTC
广达的
[root@machine cron.daily]# cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export TZ=GMT
export PATH
[root@machine cron.daily]# source ~/.bash_profile
[root@machine cron.daily]# ./0logwatch
ERROR: Date::Manip unable to determine TimeZone.
Execute the following command in a shell prompt:
perldoc Date::Manip
The section titled TIMEZONES describes valid TimeZones
and where they can be defined.
您当前的时区是 GMT,为什么设置
/etc/timezone
为“+0800”?perldoc Date::Manip
Date::Manip
你运行的是哪个版本?如果出于某些原因,Perl 不读取
/etc/timezone
or/etc/TIMEZONE
,您可以将此行添加到/root/.bash_profile
:运行后立即生效,
source /root/.bash_profile
然后重试。更新 8 月 30 日星期四 10:55:54 ICT 2012
尝试在 logwatch perl 脚本中设置时区:
实际上这有效
这不是修复,而是解决方法。但它应该让你去。
它不起作用的原因是it's expecting
TIMEZONE
to be capitalized。