큰 파일을위한 smbclient 대안


11

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

cli_push returned NT_STATUS_IO_TIMEOUT

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

이것은 해결되지 않은 Samba 버그 8498 때문일 수도 있고 아닐 수도 있습니다 . Windows 시스템을 제어 할 수 없으므로 scp 또는 sftp를 사용하기 위해 ssh 서버를 설치할 수 없으며 Microsoft의 NFS 구현에 의존하고 싶지 않습니다.

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


부분 모드가 활성화 된 rsync와 같은 도구 사용을 고려하십시오. WinScp도 도움이 될 것입니다. 또는 Unix의 NFS와 Windows의 CIFS를 사용하여 공통 NAS 스토리지를 제공하므로 동일한 네트워크 인 경우 전혀 전송할 필요가 없습니다. 다른 네트워크에 대비하여 토렌트를 설정하는 것이 가장 좋습니다. ;-)
Nikhil Mulley

Google의 "
123go

답변:


9

smbclient에서이 소켓 옵션을 사용해보십시오

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

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


1
이것에 감사합니다-이것은 나를 위해 오류를 제거했습니다. Ubunutu에서 Windows Share로 2G 파일을 올바르게 복사했습니다.
monojohnny

나는 운이없이 SO_RCVBUF와 SO_SNDBUF의 값을 조정하는 이것과 다른 변형을 시도했습니다. 내가 업로드하려고하는 파일은 패킷 손실이없는 로컬 네트워크에서 약 8gig입니다.
mhvelplund

2

사용 curl

아치 리눅스에서 Windows로 97 MiB 파일을 전송하려고 시도하는 smbclient 버전 4.9.4를 실행 중이며 --socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072' 사용자 bsd 권장으로 smbclient를 호출하는 데 여전히 실패했습니다 cli_push returned NT_STATUS_IO_TIMEOUT.

이후 버전 7.40 , 컬은 지원 프로토콜을.

따라서 나는 이것을 moderately_sized_file리눅스 OurRemoteDirectory에서 Windows 머신 의 서비스 로 업로드하기 위해 사용 했다 172.16.17.52:

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

나를 위해 curl은 매번 파일을 안정적으로 업로드했으며 업로드 진행률도 표시합니다.

curl 은 아직 원격 호스트에서 디렉토리 작성을 지원하지 않습니다 .

결과적으로 /Path/To/Dir/다음 명령 을 사용 하여 작성해야 할 수도 있습니다 (그러나 smbclient mkdir지금까지는 문제없이 작동했습니다).

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

0

Linux 서버에 ftp 서버를 설치하고 Windows 관리자에게 파일을 매일 밤 보내도록 요청할 수 있습니까?

FTP에는 큰 파일을 전송하는 데 유용한 기능과 일시 중지 / 다시 시작 메커니즘이 있습니다. 이렇게 큰 파일의 경우 네트워크 하드웨어가 비활성 연결을 너무 일찍 종료 하지 않도록 주의해야합니다 . 전송이 끝나기 전에 제어 연결을 닫을 수 있습니다 .


Linux에서 Windows에 이르기까지 파일이 다른 방향으로 가고 있습니다
Ex

0

만약

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

여전히 돌아온다 cli_push returned NT_STATUS_IO_TIMEOUT

시간 초과 옵션을 추가하십시오. -t <timeout in seconds>

가상 머신의 대용량 파일 (> 200TB 이상)을 복사하는 데 도움이됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.