我在 Nvidia Jetson TX1 上运行 Ubuntu 14.04。由于某种原因,时钟无法保持正确同步,最简单的解决方案似乎是使用 upstartntpdate
定期调用(我比 cron 更了解 upstart)。
这是我的.conf
文件:
description "Refresh date every 30 seconds"
start on (started networking)
respawn
script
echo "Starting script..."
exec service ntp stop
echo "sleeping."
exec sleep 60
echo "Contacting time.nist.gov..."
exec ntpdate -v time.nist.gov
echo "...done. Restarting service."
exec service ntp start
end script
post-stop exec sleep 5
(添加了睡眠步骤和回显以便进行调试)。
如果我跟踪输出,我会得到
Starting script...
* Stopping NTP server ntpd [ OK ]
Starting script...
* Stopping NTP server ntpd [ OK ]
Starting script...
* Stopping NTP server ntpd [ OK ]
Starting script...
* Stopping NTP server ntpd [ OK ]
每 5 秒更新一次。ntp 服务确实停止了,但似乎有什么东西终止了 upstart 作业,触发了停止后脚本,然后作业重新开始。
我为什么要提前辞职?
编辑 2017/8/30
@user731091 发现拼写错误,npt
将 改为ntp
。我已更新了原始代码并修复了拼写错误,但日志输出仍然相同。
答案1
我认为问题在于您的启动命令中有拼写错误:
exec service npt start
应该:
exec service ntp start