사용curl

사용curl

저는 매일 밤 smbclient를 사용하여 Linux 시스템에서 Windows 공유로 대용량 파일(80GB) 세트를 전송하고 있습니다. 최근에는 어떤 이유로든 I/O 시간 초과가 발생했습니다.

cli_push returned NT_STATUS_IO_TIMEOUT

이로 인해 활성 파일 전송이 중단되고 Windows 공유에서 제거됩니다.

해결되지 않은 문제로 인해 발생할 수 있습니다.삼바 오류 8498(아니면 아닐 수도 있습니다). Windows 시스템은 내 통제 하에 있지 않기 때문에 SCP 또는 SFTP를 사용하기 위해 SSH 서버를 설치할 수 없으며 Microsoft의 NFS 구현에 의존하고 싶지 않습니다.

정기적으로 네트워크를 통해 Linux에서 Windows로 80GB의 데이터를 안정적으로 이동할 수 있는 또 다른 간단한 표준 대안이 있습니까?(네트워크는 GB 이더넷이므로 대역폭은 문제가 되지 않습니다.)

답변1

smbclient에서 다음 소켓 옵션을 사용해 보십시오.

smbclient --socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072'

저는 Windows에서 Linux 미디어 서버로 정기적으로 40GB 이상의 파일을 오류 없이 복사합니다. 기가비트 스위치를 통해 연결된 시스템의 일반적인 전송 속도는 85MB/s입니다.

답변2

사용curl

저는 97MiB 파일을 Arch Linux에서 Windows로 전송하려고 smbclient 버전 4.9.4를 실행하고 있습니다. 따르다bsd 사용자가 추천하는 제품, 나는 smbclient를 사용하여 전화를 겁니다.

--socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072'

그러나 이것은 여전히 ​​실패했습니다 cli_push returned NT_STATUS_IO_TIMEOUT.

다행히 그 이후로버전 7.40, 컬 지원프로토콜 버전 1.

그래서 저는 이것을 Linux에서 Windows 머신의 서비스로 업로드하는 데 사용합니다 moderately_sized_file.OurRemoteDirectory172.16.17.52

curl --upload-file /home/me/moderately_sized_file --user "OurWindowsDomain/MyUserName:MyPassword" smb://172.16.17.52/OurRemoteDirectory/Path/To/Dir/

나에게 있어 컬은 매번 파일을 안정적으로 업로드하고 업로드 진행 상황도 표시해 주는데, 이는 좋은 일이다.

원격 디렉터리 생성

컬에 주목하세요아직 지원되지 않음원격 호스트에 디렉터리를 만듭니다.

따라서 /Path/To/Dir/다음 smbclient명령을 사용하여 생성해야 할 수도 있습니다.

smbclient //172.16.17.52/OurRemoteDirectory/ -U MyUserName%MyPassword -W OurWindowsDomain -c 'mkdir Path/To/Dir/'

smbclient 를 사용하여 파일을 업로드하는 것과 비교하면 smbclient mkdir지금까지는 문제가 없습니다 .

답변3

저도 같은 문제가 있었는데 다운로드가 항상 실패했습니다. 다음 옵션을 사용하여 "parallel_read가 NT_STATUS_IO_TIMEOUT을 반환했습니다" 문제를 해결할 수 있었습니다.

smbclient -m SMB2 ... -c 'timeout 120; iosize 16384; ...'

예: 파일 경로 "//server/share/My Files/More Files/version_1/file.txt"에서

smbclient -m SMB2 -N '//server/share' -c 'timeout 120; iosize 16384; get \"My Files\More Files\"\version_1\file.txt' -U <username>

이러한 설정이 없으면 다운로드가 100% 실패하지만, 이러한 설정을 사용하면 다운로드가 100% 작동합니다.

답변4

어쩌면 하나를 설치할 수도 있습니다파일 전송 프로토콜서버에 Linux 서버가 있고 Windows 관리자에게 매일 밤 파일을 보내달라고 요청하시겠습니까?

FTP에는 대용량 파일 전송을 위한 몇 가지 유용한 기능과 일시 중지/재개 메커니즘이 있습니다. 이러한 대용량 파일의 경우 다음 사항에 유의해야 합니다.아니요네트워크 하드웨어가 비활성 연결을 조기에 닫습니다. 그것은 당신을 닫을 수 있습니다제어 연결전송이 끝나기 전에.

관련 정보