我有一台安装了 ntpdate 的 Linux 机器,当我从 ssh 终端或手动从 shell 脚本运行它时它可以正常工作。
但是,当我将 shell 脚本添加到 crontab 时,出现错误
ntpdate:未找到命令
/bin/bash 复制代码
NTPSERVER=192.168.1.192
LOGPATH="/home/test/" ntpdate -q $NTPSERVER>$LOGPATH/tmp.txt
RETVAL=$?
如果 [ $RETVAL -ne 0 ] ; 然后
echo "失败无法查询 NTP 服务器:">>$LOGPATH/ntpdebug.txt
日期 >>$LOGPATH/ntpdebug.txt
退出 $RETVAL
fi
echo "本地时间:">>$LOGPATH/ntpdebug.txt 日期 >>$LOGPATH/ntpdebug.txt cat $LOGPATH/tmp.txt>>$LOGPATH/ntpdebug.txt
ntpdate $NTPSERVER
RETVAL1=$?
如果 [ $RETVAL1 -ne 0 ] ; 然后
echo "失败无法连接 NTP 服务器:">>$LOGPATH/ntpdebug.txt
日期 >>$LOGPATH/ntpdebug.txt
退出 $RETVAL1
fi
echo "已同步" >>$LOGPATH/ntpdebug.txt
答案1
使用完整路径!
/usr/sbin/ntpdate $NTPSERVER
cron 不包含任何~/.bashrc
、~/.zshrc
等,因此$PATH
可能未设置。