linux – 由于Date :: Manip问题,无法运行logwatch
发布时间:2020-12-13 17:02:38 所属栏目:Linux 来源:网络整理
导读:我试着按照以下方式运行logwatch [root@machine cron.daily]# ./0logwatch ERROR: Date::Manip unable to determine TimeZone.Execute the following command in a shell prompt: perldoc Date::ManipThe section titled TIMEZONES describes valid TimeZone
我试着按照以下方式运行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 The following time zone names are currently understood (and can be used in parsing dates). These are zones defined in RFC 822. Universal: GMT,UT US zones : EST,EDT,CST,CDT,MST,MDT,PST,PDT Military : A to Z (except J) Other : +HHMM or -HHMM ISO 8601 : +HH:MM,+HH,-HH:MM,-HH In addition,the following time zone abbreviations are also accepted. These do not come from a standard,but were included in previous releases of Date::Manip 5.xx and are preserved here for backward compatibility: IDLW -1200 International Date Line West NT -1100 Nome SAT -0400 Chile CLDT -0300 Chile Daylight AT -0200 Azores MEWT +0100 Middle European Winter MEZ +0100 Middle European FWT +0100 French Winter GB +0100 GMT with daylight savings SWT +0100 Swedish Winter MESZ +0200 Middle European Summer FST +0200 French Summer METDST +0200 An alias for MEST used by HP-UX EETDST +0300 An alias for eest used by HP-UX EETEDT +0300 Eastern Europe,USSR Zone 1 BT +0300 Baghdad,USSR Zone 2 IT +0330 Iran ZP4 +0400 USSR Zone 3 ZP5 +0500 USSR Zone 4 IST +0530 Indian Standard ZP6 +0600 USSR Zone 5 AWST +0800 Australian Western Standard ROK +0900 Republic of Korea AEST +1000 Australian Eastern Standard ACDT +1030 Australian Central Daylight CADT +1030 Central Australian Daylight AEDT +1100 Australian Eastern Daylight EADT +1100 Eastern Australian Daylight NZT +1200 New Zealand IDLE +1200 International Date Line East All other time zone abbreviations come from the standards. In many cases,an abbreviation may be used for multiple timezones. For example,NST stands for Newfoundland Standard -0330 and North Sumatra +0630. In these cases,only 1 of the two is available. I have tried to use the most recent definition,and of those (if multiple timezones use the abbreviation),the most commonly used. I don’t claim that I’m correct in all cases,but I’ve done the best I could. The list of abbreviations available is documented in the Date::Manip::DM5abbrevs document in this module,or more fully in the Date::Manip::Zones document of Date::Manip::6.xx. Date::Manip must be able to determine the time zone the user is in. It does this by looking in the following places: $Date::Manip::TZ (set with Date_Init or in Manip.pm) $ENV{TZ} the Unix ‘date‘ command (if available) $main::TZ /etc/TIMEZONE /etc/timezone At least one of these should contain a time zone in one of the supported forms. If none do by default,the TZ variable must be set with Date_Init. The time zone may be in the STD#DST format (in which case both abbreviations must be in the table above) or any of the formats described above. The STD#DST format is NOT available when parsing a date however. The following forms are also available and are treated similar to the STD#DST forms: US/Pacific US/Mountain US/Central US/Eastern Canada/Pacific Canada/Mountain Canada/Central Canada/Eastern 您正在运行哪个Date :: Manip版本? 如果由于某些原因,Perl不读取/ etc / timezone或/ etc / TIMEZONE,则可以将此行添加到/root/.bash_profile中: export TZ=GMT 通过运行源/root/.bash_profile使其立即生效,然后重试. 更新时间:8月30日星期四10:55:54 ICT 2012 尝试在logwatch perl脚本中设置时区: use Date::Manip; Date_Init("TZ=GMT"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |