每天进步一点点

服务器与客户端的时间同步

上一篇 / 下一篇  2013-07-09 16:41:17 / 个人分类:linux

   测试时,从客户端(windows环境)发个数据到服务端;入库后,发现一个操作时间取的客户端的时间,入库时间取的服务端的时间,而客户端与服务端往往时间不一致,产生一些误差,甚至出现入库时间早于操作时间这种逻辑错误。
   解决办法:服务器与客户端的时间同步,方法如下:
 一、设置基准时间服务器(Windows

默认情况下,WINDOWS是作为NTP(Network Time Protocol)客户端工作的 ,所以必须通过修改注册表,以使系统作为NTP服务器运行。 

1. 修改注册表的键值:

Run->regedit

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time \TimeProviders\NtpServer内的Enabled1打开NTP服务器功能.

2.      修改注册表键值

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time \Config下的 AnnounceFlags5该设定强制主机将它自身宣布为可靠的时间源.如果不修改此项则可能报错:时间例子被拒绝,因为:对等机器的层次(stratum)不主机层次少.

3. 重启w32time服务

Run->cmd进入命令行:net stop w32time  net start w32time此时在客户端就能进行时钟同步了。 

时间同步服务客户端(LinuxWindows

Linux

    1、增加同步时间的定时任务:

    crontab –e        进入定时任务编辑对话框

具体操作同vi编辑器插入文本类命令(按“Esc”键,按“i”键即可在光标前输入文本,输入完成后,按“Esc”键,输入“:wq!”保存并退出。)

 

    2、编辑时间同步的命令

*/15 * * * *     /usr/sbin/ntpdate  time-server-ip >> /var/log/ntpdate.log

/usr/sbin/ntpdate 192.168.2.203 >> /var/log/ntpdate.log

命令说明:

*/15 * * * *定时任务的调度器;从左至右分别表示分、小时、天、月、周。

这个例子表示15分钟同步一次。

time-server-ip时间服务器的ip地址,

/var/log/ntpdate.log时间同步的日志文件。

 

3、安装ntp

查看系统版本,确定系统版本为CentOS 5.3

[root@localhost etc]# lsb_release -a

LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

Distributor ID: CentOS

Description:    CentOS release 5.3 (Final)

Release:        5.3

Codename:       Final

find /usr/sbin/ntpdate如果能找到,输入crontabl查看定时任务设置,如果找不到ntpdate,则需安装ntp,方法如下:

ntp-4.2.2p1-9.el5.centos.i386.rpm传到/home目录下,执行如下命令,进行安装。

# rpm -ivh ntp-4.2.2p1-9.el5.centos.i386.rpm

 

 


TAG:

 

评分:0

我来说两句

Open Toolbar