我的/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.sh
和ntpdate 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