I have a linux machine with ntpdate installed and it is working when i run it from my ssh terminal or from a shell script manually.

However , when i add the shell script to crontab i get the error

ntpdate: command not found


LOGPATH="/home/test/" ntpdate -q $NTPSERVER>$LOGPATH/tmp.txt

if [ $RETVAL -ne 0 ] ; then
echo "Failure Unable to query NTP Server :">>$LOGPATH/ntpdebug.txt
date >>$LOGPATH/ntpdebug.txt
exit $RETVAL

echo "Local Time: ">>$LOGPATH/ntpdebug.txt date >>$LOGPATH/ntpdebug.txt cat $LOGPATH/tmp.txt>>$LOGPATH/ntpdebug.txt

ntpdate $NTPSERVER

if [ $RETVAL1 -ne 0 ] ; then
echo "Failure Unable to connect NTP Server :">>$LOGPATH/ntpdebug.txt
date >>$LOGPATH/ntpdebug.txt
exit $RETVAL1

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


Use full path!

/usr/sbin/ntpdate $NTPSERVER

cron doesn't include any ~/.bashrc, ~/.zshrc, etc., so the $PATH maybe unset.

| improve this answer | |
  • There is still folks comming here from google. So ntpdate is deprecated and changed with timedatectl. You can use sudo timedatectl set-ntp on – mandza Feb 11 at 12:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.