时间服务器的搭建

一.服务器系统设置

1.同步时间

1.1 手动同步集群各机器时间

date -s "2017-03-03 03:03:03"
yum install ntpdate

1.2 网络同步时间

  • crontab 是 Unix 和 Linux 用于设置周期性被执行的指令。 通过 crontab 命
    令,可以在固定间隔时间执行指定的系统指令或 shell 脚本。时间间隔的单位可
    以是分钟、小时、日、月、周及以上的任意组合。
  • crontab 安装:
    • yum install crontabs
  • 服务操作说明:
service crond start ## 启动服务
service crond stop ## 关闭服务
service crond restart ## 重启服务
service crond reload ## 重新载入配置
service crond status ## 查看 crontab 服务状态:
chkconfig crond –list ## 查看 crontab 服务是否已设置为开机启动
chkconfig crond on ## 加入开机自动启动

1.2 命令格式

  • crontab [-u user] file
  • crontab [-u user][ -e | -l | -r ]
  • 参数说明:
    • -u user:用来设定某个用户的 crontab 服务
    • file: file 是命令文件的名字,表示将 file 做为 crontab 的任务列表文件
      并载入 crontab。
    • -e:编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前
      用户的 crontab 文件。
    • -l:显示某个用户的 crontab 文件内容。 如果不指定用户,则表示显示当前
      用户的 crontab 文件内容。
    • -r:删除定时任务配置,从/var/spool/cron 目录中删除某个用户的 crontab
      文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
    • -i:在删除用户的 crontab 文件时给确认提示。
  • 命令示例:
    • crontab file [-u user] ## 用指定的文件替代目前的 crontab。
    • crontab -l [-u user] ## 列出用户目前的 crontab.
    • crontab -e [-u user] ## 编辑用户目前的 crontab.

1.3配置说明、实例

  • * * * * * command

    • 分 时 日 月 周 命令
    • 第 1 列表示分钟 1~59 每分钟用或者 /1 表示
    • 第 2 列表示小时 0~23( 0 表示 0 点)
    • 第 3 列表示日期 1~31
    • 第 4 列表示月份 1~12
    • 第 5 列标识号星期 0~6( 0 表示星期天)
    • 第 6 列要运行的命令
  • 配置实例:
    • /1 * date >> /root/date.txt
    • 每分钟执行一次 date 命令
    • 30 21 * /usr/local/etc/rc.d/httpd restart
    • 每晚的 21:30 重启 apache。
    • 45 4 1,10,22 /usr/local/etc/rc.d/httpd restart
    • 每月 1、 10、 22 日的 4 : 45 重启 apache。
    • 10 1 6,0 /usr/local/etc/rc.d/httpd restart
    • 每周六、周日的 1 : 10 重启 apache。
    • 0,30 18-23 * /usr/local/etc/rc.d/httpd restart
    • 每天 18 : 00 至 23 : 00 之间每隔 30 分钟重启 apache。
    • 23-7/1 * /usr/local/etc/rc.d/httpd restart
    • 晚上 11 点到早上 7 点之间,每隔一小时重启 apache

2、局域网时间同步配置

2.1 安装配置

  • 检查是否安装ntpd服务
  • rpm -qa | grep ntp
  • 没有通过下面命令安装
  • yum install -y ntp
  • 安装完成后设置自启动
  • chkconfig ntpd on
  • chkconfig ntpd –list
  • ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
    在配置前,先使用ntpdate手动同步下时间,免得本机与外部时间服务器时间差距太大,让ntpd不能正常同步。
  • ntpdate -u 202.112.10.36
    22 Dec 16:52:38 ntpdate[6400]: adjust time server 202.112.10.36 offset 0.012135 sec

配置内网NTP-Server(192.168.1.135)

  • 下面主要是配置内网的NPTD服务器(192.168.1.135), NTPD服务配置核心就在/etc/ntp.conf文件,配置好了就OK。

    
    # For more information about this file, see the man pages
    
    
    # ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
    
    driftfile /var/lib/ntp/drift
    
    # Permit time synchronization with our time source, but do not
    
    
    # permit the source to query or modify the service on this system.
    
    restrict default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    
    # Permit all access over the loopback interface.  This could
    
    
    # be tightened as well, but to do so would effect some of
    
    
    # the administrative functions.
    
    restrict 127.0.0.1
    restrict -6 ::1
    
    # Hosts on local network are less restricted.
    
    
    # 允许内网其他机器同步时间
    
    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    
    # Use public servers from the pool.ntp.org project.
    
    
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    
    
    # 中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn
    
    server 202.112.10.36             # 1.cn.pool.ntp.org
    server 59.124.196.83             # 0.asia.pool.ntp.org
    
    #broadcast 192.168.1.255 autokey        # broadcast server
    
    
    #broadcastclient                        # broadcast client
    
    
    #broadcast 224.0.1.1 autokey            # multicast server
    
    
    #multicastclient 224.0.1.1              # multicast client
    
    
    #manycastserver 239.255.254.254         # manycast server
    
    
    #manycastclient 239.255.254.254 autokey # manycast client
    
    
    # allow update time by the upper server
    
    
    # 允许上层时间服务器主动修改本机时间
    
    restrict 210.72.145.44 nomodify notrap noquery
    restrict 202.112.10.36 nomodify notrap noquery
    restrict 59.124.196.83 nomodify notrap noquery
    
    # Undisciplined Local Clock. This is a fake driver intended for backup
    
    
    # and when no outside source of synchronized time is available.
    
    
    # 外部时间服务器不可用时,以本地时间作为时间服务
    
    server  127.127.1.0     # local clock
    fudge   127.127.1.0 stratum 10
    
    # Enable public key cryptography.
    
    
    #crypto
    
    includefile /etc/ntp/crypto/pw
    
    # Key file containing the keys and key identifiers used when operating
    
    
    # with symmetric key cryptography.
    
    keys /etc/ntp/keys
    
    # Specify the key identifiers which are trusted.
    
    
    #trustedkey 4 8 42
    
    
    # Specify the key identifier to use with the ntpdc utility.
    
    
    #requestkey 8
    
    
    # Specify the key identifier to use with the ntpq utility.
    
    
    #controlkey 8
    
    
    # Enable writing of statistics records.
    
    
    #statistics clockstats cryptostats loopstats peerstats
    
  • 修改sudo vi /etc/sysconfig/ntpd 添加: SYNC_HWCLOCK=yes

  • 配置文件修改完成,保存退出,启动服务。

    service ntpd start

    ​ 启动后,一般需要5-10分钟左右的时候才能与外部时间服务器开始同步时间。可以通过命令查询NTPD服务情况。

    ​ 查看服务连接和监听

    netstat -tlunp | grep ntp
    udp        0      0 192.168.1.135:123           0.0.0.0:*          23103/ntpd
    udp        0      0 127.0.0.1:123               0.0.0.0:*           23103/ntpd
    udp        0      0 0.0.0.0:123                 0.0.0.0:*           23103/ntpd
    udp        0      0 fe80::6cae:8bff:fe3d:f65:123 :::*               23103/ntpd
    udp        0      0 fe80::6eae:8bff:fe3d:f65:123 :::*               23103/ntpd
    udp        0      0 ::1:123                     :::*                23103/ntpd
    udp        0      0 :::123                      :::*                23103/ntpd
    

​ ntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。所以,服务器启动后需要稍等下。
刚启动的时候,一般是:

# ntpstat
unsynchronised
time server re-starting
polling server every 64 s
连接并同步后:
synchronised to NTP server (202.112.10.36) at stratum 3
time correct to within 275 ms
polling server every 256 s

​ OK,内网的NTPD服务已经配置完成,如果所有正常后,开始配置内网的其他设备与这台服务器作为时间同步服务。

配置内网NTP-Clients
​ 首先需要安装NTPD服务,然后配置为自启动(与NTP-Server完全一样)。然后找其中一台配置/etc/ntp.conf文件,配置完成验证通过后,拷贝到其他客户端机器,直接使用即可。

  • 安装ntp服务

    • yum install -y ntp
  • 设置开机自启

    • chkconfig ntp on
  • 修改/etc/ntp.conf文件配置信息

    driftfile /var/lib/ntp/drift
    restrict 127.0.0.1
    restrict -6 ::1
    
    # 配置时间服务器为本地的时间服务器
    
    server 192.168.1.135
    restrict 192.168.1.135 nomodify notrap noquery
    server  127.127.1.0     # local clock
    fudge   127.127.1.0 stratum 10
    includefile /etc/ntp/crypto/pw
    keys /etc/ntp/keys

​ 修改好之后保存退出,请求服务器前,请先使用ntpdate手动同步下时间
ntpdate -u 192.168.0.135
22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec

  • 设置定时同步时间,这里设置10分钟同步一次
    • 需要在root用户下添加 crontab -e.一般主机都是联网的
## sync cluster time
0-59/10 * * * * /usr/sbin/ntpdate cn.pool.ntp.org
  • 其他服务器也设置定时任务,去同步主机的时间
    • 需要在root用户下添加 crontab -e
## sync cluster time
10 * * * * /usr/sbin/ntpdate 时间服务器主机IP

你可能感兴趣的:(Linux)