在将文件复制到SMB安装的NAS驱动器时限制networking速度

我有一个相当温和的Ubuntu盒子(Jaunty)作为一个小型的networking服务器运行。 每天晚上,我有一个cron作业tar / gzip的重要目录,并做一个简单的cp复制到一个备份的NAS驱动器已经SMB本地安装(有效的“非现场”备份)

与盒子的networking连接是802.11G(54Mbps),所以自然很慢,但问题是当文件被复制时,networking服务器和路由器之间的无线带宽被复制程序完全饱和,请求要么被拒绝,要么响应速度非常慢。

我已经尝试在独立模式下使用Trickle来限制复制过程,但这似乎没有任何区别。

任何人有build议或build议? 我怀疑我需要在服务器上运行某种forms的QoS,但真正有NFI。 希望有一个简单的银子弹解决scheme;)

谢谢,Xerxes

有一个wput实用程序,从更为人所知的wget以另一种方式工作。
它可以用来以受控的速率上传你的文件。

–limit率= RATE

如果您不希望Wput消耗所有可用带宽,请指定此标志。 RATE是一个数字值。 理解单位'K'(对于KiB)和'M'(对于MiB)。 平均上传速度是有限的,这意味着如果你限制速率为10K,Wput在第一秒钟内能够以5K发送,它将会发送(如果可能的话)超过10K,直到满足10K的平均速率。


关于滴stream

涓stream是一个用户空间的带宽pipe理器。 目前,涓stream支持通过套接字(2)接口build立的任何SOCK_STREAM(参见套接字(2))连接的整形。 此外, 涓stream将不适用于静态链接的可执行文件,也不适用于setuid(2)可执行文件

如果可能的话,使用rsync。 现在大多数NAS都提供rsync服务,比smb共享更安全,可以让你精确地调节带宽。 而且,它只会传输你的文件之间的差异,而不是每次都传输一切。

也许不理想,但也许你可以将焦油分成更小的文件块,让你的脚本在循环底部的睡眠迭代通过他们?