sftp script não está sendo executado no crontab

0

Eu tenho que pegar arquivos de outro servidor, usando o sftp.

Eu criei um script que irá cd para o meu diretório e execute o comando sftp. Como não tenho permissão para adicionar chaves rsa no servidor externo, estou usando o sshpass para lidar com essa situação. Se eu executar o script na minha sessão, ele funciona bem (mas imprima o que cada comando sftp na tela). Se eu tentar executar va crontab, o comando sftp não é executado, mas todo o resto do script é executado.

set -o nounset                              # Treat unset variables as an error

umask 000
cd /path/to/dir
export SSHPASS='securepass'
sshpass -e sftp -oBatchMode=no -b - -P9999 [email protected]: << !
 cd REMOTEDIR
 get *
 rm *
 bye
!

# processing the files part
    
por Fernando Crozetta 17.08.2017 / 20:08

1 resposta

0

Eu acho que você executa o cron job usando uma conta diferente, do que você está usando em um shell.

Isso pode fazer com que sftp falhe por diversos motivos. Uma delas é que a conta, que executa a tarefa cron, não possui a chave do host no known_hosts .

    
por 19.08.2017 / 08:29