ssh
(que rsync
executa) não confia na chave do host do servidor e, como não há terminal interativo para avisar o usuário, ele simplesmente falha. Provavelmente, a causa é que ssh
está analisando um arquivo known_hosts
diferente quando executado no cron quando você o executa manualmente.
Se o cronjob for executado como um usuário diferente de você, você precisará aceitar manualmente a chave do host fazendo algo parecido com isto:
sudo -u cronuser HOME=/home/cronuser ssh [email protected]
Se o cronjob estiver sendo executado como seu usuário, $HOME
provavelmente não está configurado corretamente. Especifique isso explicitamente no crontab:
HOME=/home/vishu