lftp as credenciais do usuário não funcionam com -e ou -c

0

Eu gostaria de usar lftp para colocar um arquivo em um diretório remoto e sair em um comando. Seguindo a resposta principal para essa questão sobre essa tarefa, tentei o seguinte:

lftp -c "open -u user,pass ftpsite.com; put -O remote/dir/ /local/file.txt"

Recebi o seguinte erro:

put: Login failed: 530 Box: Invalid user credentials.

Eu tentei a segunda resposta

lftp -e "put -O remote/dir/ /local/file.txt; bye" -u user,pass ftpsite.com

e recebeu o mesmo erro.

Fazer tudo passo a passo funcionou perfeitamente, ou seja,

lftp ftpsite.com -u user,pass
put -O remote/dir/ /local/file.txt
bye

mas tenho que fazer isso para muitos arquivos. Eu gostaria de poder fazer isso em um comando para executá-lo como parte de um script. Alguma dica sobre como corrigir esse erro ou onde procurar / iniciar?

    
por duckmayr 18.09.2018 / 13:55

1 resposta

1

Eu uso lftp na maioria dos meus scripts para automatizar uploads / downloads e o uso da sintaxe do HEREDOC sempre funcionou:

 lftp -u user,pass ftpsite.com << EOF
 cd remote/dir/ 
 put /local/file.txt
 bye
 EOF

Certifique-se de proteger sua senha entre ' , pois ela pode conter caracteres reservados que são interpretados pelo shell (e depois não são passados corretamente para lftp ): lftp -u user,'password' .

    
por 18.09.2018 / 14:03

Tags