从 rc.local 运行 ntpdate

从 rc.local 运行 ntpdate

我的/etc/rc.local是:

#!/bin/sh

touch /var/lock/subsys/local

/data/automatic/ntpdate.sh

我的/data/automatic/ntpdate.sh是:

#!/bin/sh
echo "RWQERWER" >> /data/logs/1.log
ntpdate ntp.fudan.edu.cn >> /data/logs/1.log

回显“RW....”有效,ntp已安装。ntpdate.sh是744,但是ntpdate ntp.fudan.edu.cn运行失败。

在 bash 命令行外面,/data/automatic/ntpdate.shntpdate ntp.fudan.edu.cn >> /data/logs/1.log都成功运行。

我该怎么办?先谢谢了!

答案1

我不知道为什么你(和我遇到同样的问题)无法捕获从 rc.local 运行时命令的输出。

如果你想捕捉它,你可以做类似的事情

out=$(ntpdate ntp.fudan.edu.cn 2>&1)
echo $out >>/data/logs/1.log

它刚好在我手头的系统上运行。

答案2

ntpdate已弃用。您应该安装 NTP 客户端并配置 ntpd 守护程序配置文件/etc/ntp.conf

# cat /etc/ntp.conf | grep -v ^# | grep -v ^$
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server europe.pool.ntp.org
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

并启动守护进程

# service ntpd start

相关内容