一个linux机器是否能既作ntp服务端,又能作ntp客户端呢?答案是可以的。这里的方法是仅依赖操作系统提供的应用程序ntpd和ntpdate。
首先,开启ntpd服务(如何配置此处略过),使该机器成为一个ntp的server。
然后,添加计划,让该机器每分钟向外部ntp server请求时钟同步:
在 /etc/crontab 文件里,填:
* * * * * [脚本文件绝对路径]
运行 crontab -e,在里头填:
* * * * * [脚本文件绝对路径]
脚本文件中的内容
/usr/sbin/ntpdate -u [NTP服务器的IP]
亲测上述方法可行。若不能更新该机器的时钟,查看crontab日志: tail /var/log/cron
注意:一个机器的ntpd启动后,应至少等待7~8分钟后,才会对外可用,因为ntp server启动时需要本地校时。
crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有
* 取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
, 散列数字
0 */1 * * * 表示每小时执行一次
* */1 * * * 表示每隔一小时每一分钟都执行一次