- Linux系统时间的设置
在Linux中设置系统时间,可以用date命令:
1 //查看时间
2 [root@node1 ~]# date
3 Tue Feb 25 20:15:18 CST 2014
4 //修改时间
5 [root@node1 ~]# date -s "20140225 20:16:00" #yyyymmdd hh:mm:ss
6 Tue Feb 25 20:16:00 CST 2014
7 //date 有多种时间格式可接受,查看date --help
- Linux硬件时间的设置
硬件时间的设置,可以用hwclock或者clock命令。两者基本相同,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。
1 //查看硬件时间可以是用hwclock ,hwclock --show 或者 hwclock -r
2 [root@node1 ~]# hwclock --show
3 Tue 25 Feb 2014 08:21:14 PM CST -0.327068 seconds
4 //设置硬件时间
5 [root@node1 ~]# hwclock --set --date "20140225 20:23:00"
6 [root@node1 ~]# hwclock
7 Tue 25 Feb 2014 08:23:04 PM CST -0.750440 seconds
3. 系统时间和硬件时间的同步
同步系统时间和硬件时间,可以使用hwclock命令。
1 //以系统时间为基准,修改硬件时间
2 [root@node1 ~]# hwclock --systohc <== sys(系统时间)to(写到)hc(Hard Clock)
3 //或者
4 [root@node1 ~]# hwclock -w
5 //以硬件时间为基准,修改系统时间
6 [root@node1 ~]# hwclock --hctosys
7 //或者
8 [root@node1 ~]# hwclock -s
- 不同机器之间的时间同步
为了避免主机时间因为长期运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。Linux系统下,一般使用ntp服务器来同步不同机器的时间。一台机器,可以同时是ntp服务端和ntp客户端。在生产系统中,推荐使用像DNS服务器一样分层的时间服务器来同步时间。
不同机器间同步时间,可以使用ntpdate命令,也可以使用ntpd服务。
4.1 ntpdate命令
使用ntpdate比较简单。格式如下: - [root@node1 ~]# ntpdate [NTP IP/hostname]
- [root@node1 ~]# ntpdate 192.168.0.1
- [root@node1 ~]# ntpdate time.ntp.org
sudo ntpdate www.ntp.org.cn
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
但这样的同步,只是强制性的将系统时间设置为ntp服务器时间。如果CPU Tick有问题,只是治标不治本。所以,一般配合cron命令,来进行定期同步设置。比如,在crontab中添加:
0 12 * /usr/sbin/ntpdate 192.168.0.1