Eu preciso fazer upload de um único arquivo para o servidor FTP do Ubuntu. Esta operação deve ser realizada em um script (no modo não interativo). Qual é a sintaxe correta ftp
?
Estou tentando isso, sem sucesso:
$ ftp -u ftp://user:[email protected] my-local-file.txt
ftp: Invalid URL `ftp://'
ftp
ferramenta no Ubuntu, mas parece que ela está engasgada com oftp://
. tente tirar isso talvez?man ftp
na linha de comandoRespostas:
Aqui está uma abordagem:
Como alternativa, crie (ou edite) o arquivo ~ / .netrc no diretório inicial do usuário que executará o comando ftp, forneça perms apropriados (
chmod 0600 ~/.netrc
) e adicione o seguinte:Omita as informações de login, como em:
Além disso, veja como você pode fazer a mesma coisa usando curl:
fonte
curl
ftp suportado! É super útil.curl
solução. Por que se preocupar com o outro?curl
solução é a melhor e a mais fácil #Eu posso recomendar
ftp-upload
. É uma pequena ferramenta que você pode instalar no ubuntusudo apt-get install ftp-upload
.Exemplo de uso:
fonte
man ftp-upload
. Espero que ajude.Você precisa corrigir o URL fornecido no seu extrato. Você recebeu o erro porque o URL estava incompleto - estava faltando o nome do objeto que você está carregando. Depois de adicionar o nome do arquivo após 'example.com', como fiz abaixo, você verá que o único comando realmente funciona como pretendido.
Tente o seguinte:
ftp -u ftp://user:[email protected]/my-local-file.txt my-local-file.txt
fonte
Instale o ncftp e use a ferramenta ncftpput que o acompanha, praticamente algo como esta sintaxe:
Você pode até verificar se o status do upload é bom ou ruim. O cliente ftp normal também pode ser usado junto com o expect.
fonte
Você também pode tentar
lftp
.Aqui está um exemplo:
Consulte aqui para mais detalhes
.
fonte
Carregar um arquivo para um local remoto via linha de comando
fonte
Eu uso o BusyBox
ftpput
para fazer isso:Nota:
busybox ftpget
trabalhe bem também.fonte
Você também pode usar o comando sftp ou ftp
sftp {user}@{IP}
Password:
put {path To File On Local Computer}
fonte
Eu melhorei a resposta do Marty como abaixo (inclua o binário):
[ftp_example_1.sh]
$ ftp_example_sh.sh dump_file
[ftp_example_2.sh]
$ ftp_example_2.sh 192.168.0.10 dump_file
fonte
fonte