Você obteve o código de retorno correto, a sessão sftp foi executada corretamente para que o código de retorno seja 0.
Você deve usar scp
, mas não retorna 0 se não copiar.
Você pode fazer algo como:
file=file_pattern'date -d "last month" +%m%Y'.csv
[email protected]:/rsdir1/rsdir2/rsdir3/$file
local=/rsdir1/rsdir2/rsdir3/$file
if scp -q $remote $local
then
echo "Successfully transferred the file" 'date "+%Y-%m-%d-%H.%M.%S"'
else
echo "Error occured getting file and the script abended with error code $?" 'date "+%Y-%m-%d-%H.%M.%S"'
exit 1
fi
EDIT: Alterei o destino da cópia para um nome de arquivo: Se você copiar para um diretório e esse diretório estiver faltando, você criará um arquivo que tenha o nome do diretório.