如何在 Linux 中更改系统日期?
我想改变:
如何从 Internet 检索日期并从命令行设置计算机的时钟?
我首先在 Acer Aspire 4930 上安装了 Linux Mint,然后使用 Windows 7 双启动。
我总是在 Linux Mint 上看到正确的时间,但在启动到 Windows 时,时间会向后移动几个小时,即使在重置时间后,重新启动时它再次显示错误的时间。
问题:
为什么会这样?
我该怎么办?
上周末我们不得不将时间从 02:00 更改为 03:00。
问题:如果在 02:30 有一个 cronjob 会发生什么?
crond 是一个非常古老的调度解决方案,它可能应该处理它,但不知道如何处理。
在几个生产平台上,我们观察到的症状似乎表明时钟周期性地向前或向后跳跃。跳跃通常在 1 秒左右,通常会抵消(此后很快向前跳跃然后向后跳跃)并且每天发生大约 50 次。这种漂移在应用程序使用高峰期和高磁盘 I/O 操作(例如每日备份)期间最为明显。这些漂移正在影响我们的软实时敏感应用程序。
系统是运行带有 3.0.58-0.6.6-default 内核的 SLES 11SP2 的 Oracle Netra X4250 和 Netra X4270 服务器。
$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
Run Code Online (Sandbox Code Playgroud)
我们已禁用NTP,但这对漂移没有任何影响。是否有测量时钟漂移时间的工具?我们怎样才能避免这种情况?
这些是生产平台,我们无法在实验室中重现该问题,因此我的实验能力有限。如果留给我自己的设备,我将编写一个工具来测量漂移,并可能尝试使用HPET时钟源。
不同的操作系统似乎以不同的方式处理夏令时 (DST)。我真的很喜欢 Cisco IOS 方法,它非常简单,可以更改 DST 开始和结束的日期和时间。例如:
clock summer-time EDT recurring 2 Sun Mar 2:00 1 Sun Nov 2:00 60
Run Code Online (Sandbox Code Playgroud)
..在 3 月第二周的星期日 2:00 将时钟提前 60 分钟,并在 11 月第一个星期日的 2:00 将时钟向后移动 60 分钟。Linux 如何处理夏令时?我知道有一个tzdata
包含时区数据文件的包,这些文件安装到/usr/share/zoneinfo/
目录中。这些文件是如何以及由哪些实用程序使用的?我可以在文件中看到 UTC(2) 和时区名称(EET 和 EEST)的变化:
T60:~# strings /usr/share/zoneinfo/posix/Europe/Helsinki
TZif2
HMT
EEST
TZif2
EEST
EET-2EEST,M3.5.0/3,M10.5.0/4
T60:~#
Run Code Online (Sandbox Code Playgroud)
另外,M3
大概是第三个月,M10
是第十个月?此外,还应在某处指定偏移量。例如,在 IOS 中,可以配置一旦 DST 发生,时钟就会移动 90 或 120 分钟而不是 60 分钟。
我知道用于设置特定时间和/或日期的命令,但找不到相对于当前时间移动时间的命令。
将时间向前/向后移动 x 秒/分钟/小时的命令是什么?(也可能是天/月/年?)
如何设置系统时钟与RTC(硬件时钟/BIOS)同步。我正在编写一个使用系统时钟的脚本,以便通过警报启动系统。
为此,唯一的要求是有一个合适的 RTC 时钟。在我的测试系统 (SLES 10 SP4) 上,我使用 NTP 服务器来管理系统时钟。但RTC时钟始终领先。
例如:当前系统时钟显示 14:00 26.05.2016
,RTC 显示16:00
小时。我阅读了手册页hwclock
,它显示以下命令
hwclock --systohc --localtime
Run Code Online (Sandbox Code Playgroud)
会将 RTC 时钟同步到系统时钟。它确实做到了。
但是在重新启动/关闭后,当系统再次启动时,RTC 再次混乱。因此,当系统重新启动时,还有更多东西可以控制 RTC。
有人能指出我正确的方向吗?提前致谢。
Gnome 面板以 24 小时格式显示时间,但我想将其更改为 am/pm。
我正在研究一些Beagle Bone Black (BBB)板上的一个非常奇怪的效果。我们看到系统时钟偶尔会出现几个月的跳跃,这总是与systemd-timesyncd
更新系统时钟相关。我们每周会在不同地点的 2000 台设备中看到其中的 2 到 3 个。
我们花了很多时间检查 SNTP,但这似乎表现正常。
我们终于提出了板载实时时钟的硬件问题,由于电子噪声,该问题可能导致其随机跳跃 131072 秒(36 小时)。这并不立即正确,报告的时间跳跃非常具体并且比我们观察到的要少得多,但是对该问题的深入阅读表明跳跃可能更加随机,甚至可能倒退。
我的问题是... linux 如何使用实时时钟来维护系统时钟?
我想知道实时时钟的错误是否只会在时间同步代理(ntpd 或 systemd-timesyncd)更新时出现在系统时钟中。系统时钟和 RTC 之间是否有任何直接联系,还是仅由代理使用?
注意:在第一段中我提到我们在系统时钟中看到几个月的跳跃,这总是与systemd-timesyncd
更新系统时钟相关。我的意思是,时间跳转后的第一个系统日志消息是一条Time has been changed
系统日志消息:
grep 'Time has been changed' /var/log/syslog
Oct 2 23:53:33 hostname systemd[1]: Time has been changed
Nov 21 00:07:05 hostname systemd[1]: Time has been changed
Nov 21 00:05:17 hostname systemd[1]: Time has been changed
Nov 21 00:03:29 hostname systemd[1]: Time has …
Run Code Online (Sandbox Code Playgroud)