我有一个装有 Busybox 和 uClibc 的嵌入式系统。系统时间在启动时自动从 RTC 设置。运行日期命令我得到以下输出:
Thu Jan 1 01:10:41 GMT 1970
当我运行时钟命令我得到以下输出:
Thu Jan 1 00:00:00 1970 0.000000 seconds
我现在已经在 /etc/TZ 中配置了我的时区,但我不知道应该将 RTC 时钟设置为什么时间,以便在运行时所有内容都能正确显示日期命令?
答案1
要更改日期,请使用以下date
命令:
date MMDDhhmm[[CC]YY][.ss]]
date 0507192912 # Mon May 7 19:29:00 EDT 2012
要同步时钟,请使用hwclock
。
从系统时钟设置硬件时钟:
hwclock --systohc
从硬件时钟设置系统时钟:
hwclock --hctosys
答案2
不要手动设置硬件时钟,使用hwclock --systohc
。这将自动处理您有效的时区设置。
编辑:
重新阅读您的问题后,我认为您还想问如何设置系统时间。系统会将自己的时间与硬件分开保存。您可以使用命令date
手动设置,也ntpdate
可以通过 ntp 从远程源设置(或ntp
作为守护进程运行以使其不断更新)。
答案3
要同步时钟,请使用hwclock --systohc
但我认为使用 date 设置 sysclock 不是最好的解决方案。最好的方法是使用rdate
或将 sysc 时钟与一些时间服务器同步ntp
。
要使用 rdate 执行此操作,您可以添加简单的脚本/etc/cron.daily
#!/bin/bash
rdate -s time.server.domain.name.com
手动设置时间和日期就像是永无止境的故事。