Use o caminho completo!
/usr/sbin/ntpdate $NTPSERVER
o cron não inclui ~/.bashrc
, ~/.zshrc
, etc., então o $PATH
talvez não seja definido.
Eu tenho uma máquina linux com o ntpdate instalado e ele está funcionando quando eu o executo a partir do meu terminal ssh ou de um script de shell manualmente.
No entanto, quando eu adiciono o script shell ao crontab eu recebo o erro
ntpdate: comando não encontrado
NTPSERVER = 192.168.1.192
LOGPATH="/ home / test /"
ntpdate -q $ NTPSERVER > $ LOGPATH / tmp.txt
RETVAL = $?
se [$ RETVAL -ne 0]; então,
echo "Falha ao não consultar o servidor NTP:" > > $ LOGPATH / ntpdebug.txt
data > > $ LOGPATH / ntpdebug.txt
sair $ RETVAL
fi
echo "Hora local:" > > $ LOGPATH / ntpdebug.txt data > > $ LOGPATH / ntpdebug.txt cat $ LOGPATH / tmp.txt > > $ LOGPATH / ntpdebug.txt
ntpdate $ NTPSERVER
RETVAL1 = $?
se [$ RETVAL1 -ne 0]; então,
echo "Falha ao não conectar o servidor NTP:" > > $ LOGPATH / ntpdebug.txt
data > > $ LOGPATH / ntpdebug.txt
sair $ RETVAL1
fi
echo "Sincronizado" > > $ LOGPATH / ntpdebug.txt