2

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

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

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

!/ Бен / Баш

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 ответ1

3

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

/usr/sbin/ntpdate $NTPSERVER

cron не содержит ~/.bashrc , ~/.zshrc и т. д., поэтому $PATH может быть не установлен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .