Команда ntpdate не найдена [только при использовании cron]

У меня есть машина Linux с установленным ntpdate, и она работает, когда я запускаю ее из своего терминала ssh или из сценария оболочки вручную.

Однако, когда я добавляю скрипт оболочки в crontab, я получаю ошибку

ntpdate: команда не найдена

!/ Bin / Баш

NtpServer = 192.168.1.192
LOGPATH = "/ home / test /" ntpdate -q $ NTPSERVER> $ LOGPATH / tmp.txt
RETVAL = $?

if [$ RETVAL -ne 0]; затем
echo "Не удалось запросить NTP-сервер:">>$LOGPATH/ntpdebug.txt
дата >> $ LOGPATH / ntpdebug.txt
выход $ RETVAL
фи

echo "Местное время:">>$LOGPATH/ntpdebug.txt date >> $ LOGPATH / ntpdebug.txt cat $ LOGPATH / tmp.txt >> $ LOGPATH / ntpdebug.txt

ntpdate $ NTPSERVER
RETVAL1 = $?

if [$RETVAL1 -ne 0]; затем
echo "Не удалось подключиться к серверу NTP:">>$LOGPATH/ntpdebug.txt
дата >> $ LOGPATH / ntpdebug.txt
выход $RETVAL1
фи

echo "Synchronized" >>$LOGPATH/ntpdebug.txt

1 ответ

Решение

Используйте полный путь!

/usr/sbin/ntpdate $NTPSERVER

Cron не включает в себя ~/.bashrc, ~/.zshrcи т. д., так что $PATH может быть не установлен

Другие вопросы по тегам