Linux系统安装配置NTP时间服务器

时间:2021-06-05 16:26:26
  • 背景

局域网不能上外网情况下同步集群时间,搭建NTP服务器,并设置其他主机每小时同步时间(假设使用地址为192.168.3.21的主机作为NTP服务器)

  • 安装NTP

$ sudo yum install ntp

  • 配置NTP

$ sudo vi /etc/ntp.conf

修改文件内容如下:

driftfile /var/lib/ntp/drift
restrict default nomodify notrap noquery
restrict 127.0.0.1
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap
server 127.127.1.0
fudge  127.127.1.0 stratum 0

各行具体意义不再解释,网上有很多解释可以查询参考。

  • 启动NTP服务器

$ sudo service ntpd start

  • 服务器端同步硬件时钟

$ sudo vi /etc/sysconfig/ntpd

修改如下:

SYNC_HWCLOCK=yes

  • 客户端定时更新时间,并且写到硬件里去

$ sudo vi /etc/crontab

添加如下内容:

0 */1 * * * root ntpdate 192.168.3.21; hwclock -w

crontab文件简单说明

命令格式的前一部分是对时间的设定,后面一部分是要执行的命令。时间的设定,前面五个*号代表五个数字,数字的取值范围和含义如下:

分钟 (0-59)

小時 (0-23)

日期 (1-31)

月份 (1-12)

星期 (0-6)//0代表星期天

除了数字还有几个个特殊的符号就是“*”、“/”和“-”、“,”,“*”代表所有的取值范围内的数字,“/”代表每的意思,“*/5”表示每5个单位,“-”代表从某个数字到某个数字,“,”分开几个离散的数字。以下

举几个例子说明问题:

每天早上8点:0 8 * * *  command

每个小时:0 */1 * * *  command

晚上11点到早上8点之间:0 23-8 * * * command

  • 常用命令
  1. sudo ntpq -p       查看本机和上层服务器的时间同步结果
  2. sudo ntpdate ip   客户端要和NTP server进行时钟同步,ip为NTP服务器地址
  3. sudo crond restart  重新启动定时任务
  • 注意事项

当ntpd服务重启时(或者第一次启动时),客户端需要等待10分钟左右才能与NTP服务器连接上。

如执行命令:

$ sudo ntpdate 192.168.3.21

会有如下提示信息:

21 Sep 20:19:21 ntpdate[26860]: no server suitable for synchronization found

等10分钟左右就可以执行成功了。