linux怎样自动校正时间?,第1张

通过ntp服务,自动获取网络时间并同步

定时校正服务器时间

# yum install –y ntp //安装ntp服务

# crontab -e //打开linux定时计划任务

0 23 /usr/sbin/ntpdate 2107214544 //加入这一行信息

以上命令设置好后存盘。

# /sbin/service crond reload //重载linux计划任务

重载计划任务配置

您的机器将在每天的23:00根据中国国家授时中心的NTP服务器时间自动校准时间。

你应该在安装 linux时就配置好网络设置 如果你那时候没有设置,就进入到root用户在终端下输入netconfig 回车,进入界面,应该可以看到你熟悉的内容,基本英文你应该懂吧设置好之后,然后在终端里输入ping (一般就是你学校里的代理服务器),如果你看到有很快的回应,那就表示你的网络已经通了如果没有回应,那你就看一下你的设置有没有错误,还有网线是不是两头插好了 再者就是浏览器的设置了如果你英文基本不懂,那你学linux必定会困难重重,因为大量的帮助文档都是英文的如果你懂英文,就看一下浏览器的帮助文档,其中有proxy(代理)的设置如果你不懂,我告诉你,在Konqueror浏览器下在设置下选配置选项,出来一个窗口,就选择代理中的手工设置,输入你的代理IP和端口号,点击应用,确定,就可以上网了如果你用别的浏览器,具体的设置也是类似的,比如moliza浏览器在编辑里的表现选项中可以进行代理的配置

至少需要两台linux服务器,其中一台是NTP Server, 另一台是NTP client

Linux NTP配置详解 (Network Time Protocol)

LINUX绝大多数的发行版本都已经自带了NTP程序,只须按以下配置即可。

相关配置文件

/etc/ntpconf

NTP服务的主要配置文件,所有的更改全部在这里。

/usr/share/zoneinfo

由 tzdata 所提供,规定了各主要时区的时间设定文件,例如中国的时区设置文件是/usr/share/zoneinfo/Asia/Chongqing。

/etc/sysconfig/clock

Linux的主要时区设定文件。每次启动后Linux操作系统会自动读取这个文件来设定系统预设要显示的时间。如这个文件内容为”ZONE=Asia/Chongqing”,则表示Linux操作系统的时间设定使用/usr/share/zoneinfo/Asia/Chongqing这个文件。

/etc/localtime

本地系统的时间设定文件,如果clock文件中规定了使用的时间设定文件为/usr/share/zoneinfo/Asia/Chongqing,Linux操作系统就会将Chongqing那个文件复制一份为/etc/localtime,所以系统的时间显示就会以Chongqing那个时间设定文件为准。

相关的命令

/bin/date

这个我们最经常使用了,更改及输出日期与时间命令。

/sbin/hwclock

使用hwclock才能将修改过后的时间写入BIOS 。

/usr/sbin/ntpd

NTP服务的守护进程,配置文件为/etc/ntpconf 。

/usr/sbin/ntpdate

用来连接NTP服务器命令,比如ntpdate 192168651 。

/usr/sbin/ntpq

NTP查询命令。

设置NTP服务器

就如前边说的NTP配置文档只有一个 /etc/ntpconf,看看我的ntpconf

#红字的是我添加的,其它为默认!

grep -Ev '^$|^#' /etc/ntpconf

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 13110713100 //允许该NTP服务器进入

restrict 11480811 //没有任何何参数的话,这表示『该 IP或网段不受任何限制』

restrict 2021181199

restrict 127001

restrict -6 ::1

restrict 19216800 mask 25525500 nomodify //该网段可以进行校时

restrict 0000 mask 0000 notrust //拒绝没有认证的用户端

server time-nwnistgov prefer //prefer 该服务器优先

server 0rhelpoolntporg

server 1rhelpoolntporg

server 2rhelpoolntporg

fudge 12712710 stratum 10

driftfile /var/lib/ntp/drift

keys /etc/ntp/keys

别忘了启动NTP服务器

/etc/initd/ntp start

客户端测试

对了客户端只需要是用ntpdate命令即可,192168651 为ntp 服务器ip 地址,就这么就简单!

相关命令

ntpstat //列出我们的NTP 服务器是否与上层连接。

synchronised to NTP server (13110713100) at stratum 2

time correct to within 461 ms

polling server every 64 s

ntpq -p //列出目前我们的NTP服务器 与上层NTP服务器 的状态, 代表目前正在使用的上层 NTP服务器

remote refid st t when poll reach delay offset jitter

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

13110713100 ACTS 1 u 30 64 67 237165 1539 20382

2021181199 20211231197 2 u 33 64 63 163526 91844 10208

上边只是简单设置,没有考虑安全方面如认证等等,如需更详细请参考这里。

权限管理使用 restrict 公式如下:

restrict IP mask [参数] / restrict 19216800 mask 25525500 nomodify

其中参数主要有底下这些:

ignore:拒绝所有类型的NTP的连线;

nomodfiy:用户端不能使用NTPC与ntpq这两支程式来修改伺服器的时间参数,但使用者端仍可透过这部主机来进行网路校时的;

noquery:用户端不能够使用ntpq,NTPC等指令来查询发表伺服器,等于不提供的NTP的网路校时幂;

notrap:不提供陷阱这个远端事件邮箱(远程事件日志)的功能。

notrust:拒绝没有认证的用户端。

可以在那台能上公网的linux机器上安装ntpd服务,然后在那台不能上公网的linux机器上安装ntpd客户端。

在crontab计划任务里设置每隔一定时间自动运行:

ntpdate (能上公网的机器IP)

这样就可以实现自动校时了

1 与一个已知的时间服务器同步

2 配置网络时间协议(ntp)

1 让linux自动同步时间

vi /etc/crontab

加上一句:

00 0 1 root rdate -s timenistgov

timenistgov 是一个时间服务器

2 时间服务器配置(192168101)

1) # rpm -ivh ntp-412-4EL31i386rpm

2) # vi /etc/ntpconf

注释一行

restrict default ignore

加入一行

restrict 192168100 mask 2552552550 notrust nomodify notrap

3) # vi /etc/ntp/step-tickers

加入一行

poolntporg

这样每次ntpd启动时,会自动连接该国际标准时间服务器;

4) # service ntpd start

5) # netstat -an |grep 123

确保该端口以udp方式开放

时间客户端配置(192168102)

1) # ntpdate 192168102

应该显示同步成功

2) # crond -e

加入

0-59/10 /usr/sbin/ntpdate 192168101

表示每隔10分钟同步一次时间

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux怎样自动校正时间?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情