Eu acredito que o problema é com a última parte do script quando você está escrevendo stdout para o arquivo. De alguma forma, mata a visão que eu acredito.
Você pode tentar com parâmetros -d -m para a tela.
Eu tenho a seguinte linha no meu crontab
*/1 * * * * /usr/bin/screen -S lftp /bin/bash /media/c419d280-9833-4432-b5a5-520f040b87ec/NASDataDisk1/Other/autolftp-sftp.sh >> /media/c419d280-9833-4432-b5a5-520f040b87ec/NASDataDisk1/Other/sync_cron$
Mas, por algum motivo, não consigo fazer isso corretamente. Meu arquivo de saída, sync_cron.log, lê "Deve ser conectado a um terminal".
Se eu usar o comando
screen -S lftp bash autolftp-sftp.sh
ele é executado corretamente, então o cronjob não estaria fazendo essencialmente a mesma coisa? Mas por que não está funcionando?