我曾经能够编辑 /etc/sysconfig/clock,但现在我需要使用 timedatectl,我认为这是一个 systemd 命令。
这与启动系统有什么关系?
我想在单个用户的 crontab 中使用 UTC 来安排时间,而不管服务器的当前时区如何。如何在 Debian Etch 上执行此操作?
[root@myHost default]# ntpdate -d pool.ntp.org
15 Apr 11:21:18 ntpdate[6331]: ntpdate 4.2.0a@1.1190-r Thu Feb 24 20:39:57 EST 2011 (1)
Looking for host pool.ntp.org and service ntp
host found : magma.woody.ch
transmit(157.161.57.1)
transmit(157.161.57.1)
t ransmit(157.161.57.1)
transmit(157.161.57.1)
transmit(157.161.57.1)
157.161.57.1: Server dropped: no data
server 157.161.57.1, port 123
stratum 0, precision 0, leap 00, trust 000
refid [157.161.57.1], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time: 00000000.00000000 Thu, Feb 7 2036 6:28:16.000
originate timestamp: 00000000.00000000 Thu, Feb 7 2036 6:28:16.000
transmit …Run Code Online (Sandbox Code Playgroud) 我不断收到此错误:
消息:date() [function.date]:依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能是时区标识符拼错了。我们为“EST/-5.0/no DST”选择了“America/New_York”
我编辑了我的 php.ini 并将其添加到它的末尾: date.timezone = "America/New_York"
保存 php.ini 并重新启动 Apache 后,我仍然收到错误消息。我也试过重新启动整个服务器无济于事。
如果这有什么不同,我正在 CentOS 5.6 上运行 cPanel/WHM。此外,PHP 处理程序是 suphp。
我不确定接下来要尝试什么……有什么指导吗?
我尝试在以下位置运行 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.
Run Code Online (Sandbox Code Playgroud)
我的日期如下
root@machine cron.daily]# date
Thu Aug 23 06:25:21 GMT 2012
Run Code Online (Sandbox Code Playgroud)
现在根据各种论坛中的详细信息,我尝试通过设置来解决此问题
/etc/timezone to “+0800”
Run Code Online (Sandbox Code Playgroud)
但它没有用
我的/etc/localtime指向/usr/share/zoneinfo/GMT 并由傀儡管理
我该如何解决这个问题?我仍然希望我所有的机器都在 GMT 时区。
编辑:
可悲的是,
这两个更改都不起作用:
[root@machine cron.daily]# cat /etc/TIMEZONE
UTC
Run Code Online (Sandbox Code Playgroud)
广达的
[root@machine cron.daily]# cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions …Run Code Online (Sandbox Code Playgroud) 我正在运行 CentOS 安装程序,但很惊讶UTC在提示输入时区时找不到。
唯一可用的选择是:
但是,我最近了解到Etc/UTC 与 UTC 不同。
那么为什么只被Etc/UTC提议而不是被提议UTC呢?
我遇到了一个问题,过去的时间随机跳到 4 小时。因此,所有计划任务(例如备份)都不会在正确的时间发生,并且我们正在使用的某些时间关键型应用程序(例如会计系统)无法正常工作。
例如,如果实际时间是美国东部标准时间下午 4 点,则系统时钟将显示为下午 12 点。如果再次将系统时钟向前重置为正确的时间,它会再次随机跳回 4 小时。
我检查了事件查看器,并看到了一些与时间更改相关的“内核常规”事件。下面是一个例子:
<?xml version="1.0" encoding="UTF-8"?>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-Kernel-General" Guid="{A68CA8B7-004F-D7B6-A698-07E2DE0F1F5D}" />
<EventID>1</EventID>
<Version>0</Version>
<Level>4</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8000000000000010</Keywords>
<TimeCreated SystemTime="2014-05-09T17:04:34.500000000Z" />
<EventRecordID>39254</EventRecordID>
<Correlation />
<Execution ProcessID="4" ThreadID="68" />
<Channel>System</Channel>
<Computer>SERVER</Computer>
<Security UserID="S-1-5-18" />
</System>
<EventData>
<Data Name="NewTime">2014-05-09T17:04:34.500000000Z</Data>
<Data Name="OldTime">2014-05-09T21:05:19.806811800Z</Data>
</EventData>
</Event>
Run Code Online (Sandbox Code Playgroud)
此事件是在下午 5 点左右生成的。此事件发生后,系统时间显示为下午 …
我购买了一台 CentOS 6.8 专用服务器来从共享主机迁移,但我遇到了时区显示不正确的问题。
我已将php.ini时区更改为Europe/Dublin- 它不起作用
我已将httpd.conf时区更改为Europe/Dublin- 它不起作用
我正在尝试更改实际的 CentOS 时区,这就是它变得奇怪的地方。我将时区更改为Europe/Dublinfrom CST(这是默认值),它似乎认为Europe/Dublin是GMT+14.
请看下面的图片链接。第二个日期应该是 2017 年 1 月 7 日星期六 07:48:11 GMT。

我在 OpenShift 中配置了一个 cronjob。它的 crontab 条目如下所示:
spec:
schedule: "0 3 * * 1-5"
jobTemplate:
Run Code Online (Sandbox Code Playgroud)
所以它应该在工作日的早上 03:00 运行。所有集群节点都配置为使用我们的本地时区 CET,即 UTC+1。这可以通过date命令看到。OpenShift 文档说 cronjobs 是通过与主节点配置的时区匹配的 crontab 执行的,所以我希望 cronjobs 实际在欧洲中部时间 03:00 运行。
但是,根据日志,cronjobs 在 04:00 执行,即 UTC 时间的 03:00 CET。奇怪的部分是oc describe cronjob揭示:
Last Schedule Time: Mon, 14 Jan 2019 04:00:00 +0100
Run Code Online (Sandbox Code Playgroud)
因此,服务器实际上知道 cronjob 执行得太晚了一个小时。
我的问题是:为什么 cronjob 执行晚了一个小时,为什么服务器知道它,我该如何解决这个问题?
我正在尝试在 CentOS 上更新我的时区数据库,该数据库位于 /usr/share/zoneinfo。
我在这里从 IANA 下载了时区数据:http : //www.iana.org/time-zones
我尝试编辑“make”文件并执行该文件,但出现了几个错误,因此我不确定这样做是否正确。我还尝试用这个新数据替换我的 zoneinfo 文件夹,并得到我的时区数据库已损坏的错误。
我是否遗漏了一些明显的东西,或者我是否遗漏了有关如何执行此操作的说明?有人会告诉我如何安装吗?
(我尝试这样做是因为 mysql 给了我这样的错误:'error: SET time_zone = 'US/Pacific' Unknown or wrong time zone: 'US/Pacific')。
谢谢!:)