大型文件的smbclient替代


11

我正在使用smbclient每晚将一组大文件(80GB)从Linux系统传输到Windows共享。最近,无论出于什么原因,我一直在经历I / O超时:

cli_push returned NT_STATUS_IO_TIMEOUT

这会导致活动文件传输被中止并从Windows共享中删除。

这可能是由于未解决的Samba错误8498(或可能不是)引起的。Windows系统不受我的控制,因此我无法安装ssh服务器(使用scp或sftp),也不想依赖于Microsoft的NFS实现。

是否有另一种简单的标准替代方法,可以让我定期通过网络将80GB的数据从Linux可靠地移动到Windows(网络是GB以太网,因此带宽不是问题)?


考虑使用启用了部分模式的rsync之类的工具。甚至WinScp也应有所帮助。或通过Unix上的NFS和Windows上的CIFS提供通用的NAS存储,因此,即使是同一网络,也完全不需要传输器。最好是在其他网络中建立种子文件。;-)
Nikhil Mulley '02

刚在Google上偶然发现“ 123go文件传输程序”搜索
Nikhil Mulley,

Answers:


9

尝试在smbclient上使用这些套接字选项

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

我定期将Windows上的40 GB以上的文件无错误地复制到Linux媒体服务器,通过千兆交换机连接的计算机的典型传输速率为85MB / s。


1
谢谢-这为我摆脱了错误;并将2G文件从Ubunutu正确复制到Windows共享。
monojohnny 2013年

我已经尝试过这种以及其他调整SO_RCVBUF和SO_SNDBUF的值的方法,但是没有碰到运气。我要上传的文件在本地网络上大约8gig,丢包率为零。
mhvelplund '16

2

使用 curl

我正在运行smbclient版本4.9.4,尝试将97 MiB文件从Arch Linux传输到Windows,并以--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版开始,curl支持协议。

因此,我使用它moderately_sized_file从Linux 将上载到OurRemoteDirectoryWindows机器上的服务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 Umbris '02

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>

它可以帮助我复制虚拟机的大文件(> 200 Tb)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.