lftp: login, coloque o arquivo no diretório remoto e saia em um único comando: ajuda apropriada para citar


17

Quero usar lftp -cpara fazer uma sessão inteira de uma só vez (como lançarei isso a partir de um script mais tarde) e consegui, -emas isso geralmente me deixa com a sessão interativa que não quero.

Estados manuais

-c commands
          Execute the given commands and exit. Commands can be separated with a semicolon,  `&&'
          or  `||'.  Remember to quote the commands argument properly in the shell.  This option
          must be used alone without other arguments.

Mas não entendo como devo citar e agrupar meus comandos / interações corretamente.

lftp -e "put -O remote/dir/ /local/file.txt" -u user,pass ftpsite.com funciona excelente. Mas quero sair depois de executar o comando;

lftp -c "open -u user,pass ftpsite.com" || put -O "remote/dir/ /local/file.txt" apenas grita comigo ou, de fato, qualquer combinação de citações que eu tentei ( ||ou &&independentemente)


basta adicionar; sair ou; bye :)
meso_2600

Respostas:


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

deve fazê-lo.

Se isso não funcionar, tente adicionar /etc/lftp.confas seguintes linhas:

set ftp:ssl-protect-data true
set ftp:ssl-force true
set ftp:ssl-auth TLS
set ssl:verify-certificate no

2
Há alguma maneira de fazer este trabalho se a senha tem caracteres nele como' " : ;
Pete

Eu me tropeçar, porque eu tinha um espaço depois da primeira vírgula, uma vez que eu percebi o que funcionou muito bem
patrick

10

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


1

lftp -e "put -O remote/dir/ /local/file.txt; bye" ftp.yourhost.com

e coloque suas credenciais em ~ / .netrc como

machine ftp.yourhost.com login your_username password your_password

Colocar senhas no cli é absolutamente impossível, pois elas são legíveis quando se usa ps -aux durante o upload. Além do histórico do bash.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.