Usando o comando date faz sentido para mim, você tem algum erro no seu log cron? O cron job está sendo executado como o superusuário (necessário para alterar a hora do sistema). Talvez postar o cron job para que possamos solucionar o problema?
Além disso, verifique se o ntpd não está em execução e redefinindo o relógio depois de alterá-lo:
/etc/init.d/ntpd status
Além disso, verifique se o ntpd não inicia na inicialização:
Para a família Redhat / Centos:
sudo chkconfig ntp #Maybe ntpd
Se você vir números que:
sudo chkconfig ntpd off
Para o Debian:
ls /etc/rc*.d/*ntp* #To check
update-rc.d -f ntp remove #to remove