linux ubuntu时间同步,ubuntu 的时间同步

http://blog.csdn.net/myvstar/archive/2006/08/31/1151059.aspx

(好像不能用了,我的如下错误》》》1 Aug 00:14:43 ntpdate[5319]: no server suitable for synchronization found)

手动同时间服务器同步:

$ sudo ntpdate s1a.time.edu.cn

将同步后的准确时间写入BIOS:

$ sudo hwclock --systohc教育网的时间服务器列表这里有

http://www.time.edu.cn/mem.htm

25411327_1.jpg

http://hi.baidu.com/luyun21/blog/item/602358090db3ccaa2fddd433.html

时间同步

2008年05月16日 星期五 17:08

发现 ubuntu 总是时间不对劲,用一个晚上学习和尝试解决,总结一下。

学习要点(尽量在终端应用):

时区设置 date hwclock ntpdate crontab 运行级

一、设置时区

1.新建了目录:

sudo mkdir /etc/sysconfig

2.新建了 clock 文件:

sudo gedit /etc/sysconfig/clock

文档内容为:

#My Config

ZONE=”Asia/Shanghai”

该文档是本地时区设置文档,本地时区被设置为 亚洲/上海

3.将时区文档 Shanghai 复制并覆盖为: /etc/localtime:

sudo cp -i /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

二、手动校时

date MMDDhhmmYYY(月日时分年)

该命令用来调整 linux 系统时间

hwclock [-rw]

该命令用来将系统当前时间写进 BIOS

1.校时

打开 http://www.time.ac.cn/default.asp 显示中科院国家授时中心网络时间作参考,然后调整如:

sudo date 032421152006

2.查看系统时间与BIOS时间是否差异:

sudo date;hwclock -r

显示如:

五 3月 24 21:38:15 CST 2006

2006年03月24日 星期五 21时40分12秒 -0.679739 seconds

有差异的。

3.将系统时间写入BIOS

sudo hwclock -w

OK!

因为每次开机,系统会重新从BIOS获得时间,所以BIOS时间正确才是首要的。

这是手动校时,每次都要手动,不爽,下面用自动的。

三、网络校时

首先增加防火墙 shorewall 规则,放行 ntpdate 的 udp 123 端口:

sudo gedit /etc/shorewall/rules

增加划线内的规则:

==================

ACCEPT fw net udp 123

ACCEPT net fw udp 123

==================

*先来了解需要用到的网络时间同步命令:

ntpdate 时间服务器

如:

sudo ntpdate 210.72.145.44 (或 210.0.235.14 或 137.189.11.66)

回复像如下信息即校时成功:

step time server 210.0.235.14 offset 1581.457933 sec

该命令也是手动校时,却比 date 修改时间好多了。

现在来实现自动校时:

设置每30分钟自动时间同步(推荐):

(1)编辑临时任务文件

gedit /tmp/mycrontab

内容:

*/30 * * * * root /usr/sbin/ntpdate 210.72.145.44 ;/sbin/hwclock -w ;echo: “Ntpdate Successful! $(date)” >> /tmp/mycron.log

以上共3个命令,分号分开。

第一个是:以root用户身份每30分钟自动与时间服务器 210.72.145.44 同步。

规则是:(五个时间+[用户]+[多条]命令) 分 时 日 月 周 [用户] [多条]命令

参考:Crontab How To

第二个是:将系统时间写入BIOS。

第三个是:将成功执行该crontab的信息写入 /tmp/mycron.log 文件(主意:当确定该计划任务执行正确后,这个命令是不必要的,应该去掉,否则,长期下去 mycron.log文件很快就撑暴了)。

(2)安装计划任务

要使该计划任务成功执行,需要以sudo身份安装该crontab:

sudo crontab /tmp/mycron.log

这样,每30分钟,系统时间就会与时间服务器自动同步了,可查看 /tmp/mycron.log 记录:

cat /tmp/mycron.log。

为了保证时间同步成功,不要太频繁与时间服务器同步,每分钟同步是不必要的。

取消该crontab:

sudo crontab -r

查看当前的 crontab:

sudo crontab -l

修改该计划任务:

需要重新安装crontab,即修改 /tmp/mycrontab 文件,然后用 sudo crontab /tmp/mycrontab 命令重新安装。

每个用户都有自己的 crontab,这里用 sudo ,是因为 ntpdate 需要 root 权限。

设置开机自动校时:

(1)设置时间服务器:

sudo gedit /etc/default/ntpdate

全文修改为:

===================

# servers to check. (Separate multiple servers with spaces.)

#NTPSERVERS=”pool.ntp.org”

#NTPSERVERS=”ntp.ubuntulinux.org”

#中国科学院国家授时中心 210.72.145.44

#香港 137.189.11.66 或 210.0.235.14

NTPSERVERS=210.72.145.44

NTPSERVERS=137.189.11.66

NTPSERVERS=210.0.235.14

# additional options for ntpdate

#NTPOPTIONS=”-v”

#-u 参数是指定使用无特权的端口发送数据包。

#当在一个对特权端口的输入流量进行阻拦的防火墙后是很有益的, 并希望在防火墙之外和主机同步。

#NTPOPTIONS=”-u”

==================

保存退出

(2)自动启动 ntpdate (网络时间同步服务客户端, ntpd 为服务器端)

当 /etc/rcS.d/ 目录存在 ntpdate 没有启动的链接文件如 s51ntpdate 时,将小写 s 改为大写 S :

sudo mv /etc/rcS.d/s51ntpdate /etc/rcS.d/S51ntpdate

当 /etc/rcS.d/ 目录不存在 ntpdate 链接文件时,建立该链接:

sudo ln -s /etc/init.d/ntpdate /etc/rcS.d/S51ntpdate

(S51ntpdate 在网卡启动、宽带上网、防火墙启动之后启动)

(若用 sudo update-rc.d ntpdate defaults 命令,则同时建立rc2~6运行级的S20ntpdate链接)

这样,系统启动后,ntpdate 网络时间同步服务就被启动了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值