Existe algum comando ftp para retomar o upload?

4

Oh! com a minha conexão de rede lenta, estou gravemente preso. Eu estava enviando um arquivo de vídeo da caixa local para um remoto via ftp. Mas net falhou.Eu sei que há um comando chamado reget para retomar o download, mas Existe algum comando para retomar o upload. Se não, então eu sou atingido.

    
por Ravi 20.09.2013 / 14:54

4 respostas

5

Eu sempre uso o cliente lftp , que tem a capacidade de retomar um download que morreu no meio do caminho ou que desejo cancelar e depois reiniciar.

Eu costumo usar o comando da seguinte forma:

$ lftp -e "mirror -c /download/<dir> /local/<dir>" -u user -p <port> ftp.server.com

O que mais?

O nome desta ferramenta é um pouco enganador, pode lidar com FTP ou SFTP.

ftp

$ lftp -e "mirror -c /download/<dir> /local/<dir>" -u user ftp://ftp.server.com

sftp

$ lftp -e "mirror -c /download/<dir> /local/<dir>" -u user sftp://sftp.server.com

Espelhando Links

Ocasionalmente, você pode encontrar um problema com os diretórios de espelhamento que contêm links simbólicos. Para solucionar esse problema, você pode adicionar essa opção ao comando lftp :

set ftp:list-options -L

Por exemplo:

$ lftp -e "set ftp:list-options -L; mirror -c /download/<dir> /local/<dir>" \
    -u user ftp://ftp.server.com

Referências

por 20.09.2013 / 15:04
1

Para retomar o upload de um único arquivo usando o comando ftp interno, você precisará saber quantos bytes do arquivo você já enviou. Isso deve ser acessível usando ls . Em seguida, use a sequência a seguir para reiniciar o upload, substituindo <#> pelo número de bytes já enviados e <filename> pelo nome do arquivo que você está enviando.

restart <#>
put <filename>

Se o servidor permitir, você deverá receber uma mensagem como a seguinte ...

350 Restart position accepted (<#>).
150 Ok to send data.

Isso retomará seu upload.

    
por 13.07.2017 / 14:16
0

Para retomar a transferência de um único arquivo, isso parece funcionar:

  1. Em seu diretório local, obtenha o tamanho do arquivo que já foi parcialmente baixado:

    ls -la
    
  2. Supondo que a pasta onde o arquivo foi parcialmente baixado é o seu diretório atual e que ele está na raiz da sua conta FTP remota, adapte a seguinte chamada lftp às suas necessidades:

    lftp -e "get1 -c --source-region 2000000000-5000000000 --target-position 2000000000 yourfile.ext" -u utilisateur,mot_de_passe ftp.yourserver.ext
    

A execução de get1 com a opção -c retoma a transferência e exibe a porcentagem do arquivo de origem que já foi baixado. Ainda não terminei o download de um arquivo retomado, mas parece estar funcionando bem.

    
por 06.03.2014 / 18:02
0

Provavelmente, estou muito atrasado para configurar o lftp corretamente e é por isso que prefiro o wput . Aqui está um exemplo de como o wput continua carregando após problemas de conexão:

wput -v -u -B upload.zip ftp://login:[email protected]/dir/upload.zip
--20:14:23-- 'upload.zip'
    => ftp://login:[email protected]:21/dir/upload.zip
Connecting to 111.111.111.111:21... connected! 
Logging in as login ... Logged in!
==> CWD dir
==> TYPE I ... done.
==> SIZE upload.zip ... done (4313 bytes)
==> PASV ... done.
==> REST 3584 ... done.
==> STOR upload.zip ... done.
Length: 902,153,406 [902,149,822 to go]
 7% [======>                                                                                         ] 65,658,368       194.0K/s ETA  1:10hError: Error encountered during uploading data (Operation now in progress)
==> ABOR ... Error: recv() timed out. No data received
Receive-Warning: read() timed out. Read '' so far.
failed.
Waiting 10 seconds... Error: recv() timed out. No data received
Receive-Warning: read() timed out. Read '' so far.
Connecting to 111.111.111.111:21... connected! 
Logging in as login ... Logged in!
==> CWD dir
==> TYPE I ... done.
==> SIZE upload.zip ... done (65247144 bytes)
==> PASV ... done.
==> REST 65246208 ... done.
==> STOR upload.zip ... done.
Length: 902,153,406 [836,907,198 to go]
 9% [++++++==> 

Só para ser completamente justo, aqui está a minha tentativa de usar o lftp para a mesma tarefa:

lftp -e "set net:timeout 10; set ssl:check-hostname false; set ssl:verify-certificate false; put -c -O /dir upload.zip; bye" -u login,password server.com
    
por 14.02.2018 / 19:26

Tags