업로드를 재개하는 ftp 명령이 있습니까?

업로드를 재개하는 ftp 명령이 있습니까?

오! 인터넷 연결 속도가 느려서 막혔어요. FTP를 통해 로컬에서 원격으로 비디오 파일을 업로드하고 있습니다. 그러나 네트워크가 실패했습니다. 다운로드를 재개하는 reget이라는 명령이 있는 것으로 알고 있는데, 업로드를 재개하는 명령이 있습니까? ? 안 그러면 때려요.

답변1

저는 항상 lftp중간에 종료된 다운로드를 재개할 수 있거나 취소하고 나중에 다시 시작하고 싶은 클라이언트를 사용합니다.

나는 보통 다음과 같은 명령을 사용합니다.

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

또 뭐야?

이 도구의 이름은 약간 오해의 소지가 있습니다. FTP 또는 SFTP를 처리할 수 있습니다.

파일 전송 프로토콜

$ 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

미러 링크

때로는 심볼릭 링크가 포함된 미러 디렉터리에 문제가 있을 수 있습니다. 이 문제를 해결하려면 다음 옵션을 명령에 추가하세요 lftp.

set ftp:list-options -L

예를 들어:

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

인용하다

답변2

lftp에는 SIZE 및 REST를 수행하는 "reput" 명령도 있습니다.

lftp user:pass@host/path/to/folder
cd ok, cwd=/path/to/folder  
lftp user@host:/path/to/folder> reput file.ext 
---> TYPE I                                
<--- 200 Type set to I
---> SIZE file.ext
<--- 213 11842837120
---> PASV
<--- 227 Entering Passive Mode (10,211,14,15,220,70).
---- Connecting data socket to (10.211.14.15) port 56390
---- Data connection established
---> ALLO 20769244058
<--- 202 No storage allocation necessary
---> REST 11842837120
<--- 350 Restarting at 11842837120. Send STORE or RETRIEVE to initiate transfer
---> STOR file.ext
<--- 150 Opening BINARY mode data connection for file.ext
`file.ext' at 6756302848 (32%) 31.50M/s eta:7m [Sending data]   

답변3

내장된 ftp 명령을 사용하여 단일 파일 업로드를 재개하려면 파일이 전송된 바이트 수를 알아야 합니다. 를 사용하여 액세스할 수 있어야 합니다 ls. 그런 다음 <#>전송된 바이트 수와 <filename>업로드하려는 파일 이름 으로 대체된 다음 순서를 사용하여 업로드를 다시 시작합니다 .

restart <#>
put <filename>

서버에서 허용하면 다음과 같은 메시지가 나타납니다.

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

업로드가 재개됩니다.

답변4

어쩌면 내가 너무 쓰레기여서 구성할 수 없는 것일 수도 있습니다.원격 전송 프로토콜맞아요 그래서 제가 더 좋아하는데요글의 양. 다음은 연결 문제가 발생한 후에도 wput이 계속 업로드할 수 있는 방법에 대한 예입니다.

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% [++++++==> 

완전히 공평하게 말하면 이것은 lftp를 사용하여 동일한 작업을 수행하려는 시도입니다.

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

관련 정보