嗨,这是一个问题,它可能是多余的,但我有预感有一个工具 - 或者应该有,如果没有,我可能只是做 - 或者我可能正在咆哮错误的树这个案例纠正了我的想法:
但我的问题是这样的:我正在寻找一种方法,通过一个只有中等速度的互联网连接,每周一次从服务器上迁移大型虚拟磁盘驱动器,在一个必须能够限制带宽的解决方案,因为互联网连接一直在使用。
我考虑过这个问题并且问题很熟悉:可以移动的大文件也可以很容易地在断开连接/重新连接/大等等时存活 - 我熟悉的唯一解决方案就是种子
有没有办法自动策略性地制作种子并自动“发送”到远程客户端下载列表?我在Windows Hyper-V主机中工作,但我只为客户使用Linux,我可以轻松地烹饪客户进行复制,因此将其视为Windows或Linux问题。
PS:当我移动客户服务器时,vhds是客户服务器的“离线”副本 - 仅考虑20-30gig dum文件。
PPS:我宁愿避免花钱
答案 0 :(得分:1)
Bittorrent是一个很好的选择,因为它可以很好地处理连接丢失后的增量更新和自动恢复。
要自动创建.torrent文件,请使用原始bittorrent软件包中的btmakemetainfo
脚本,或使用众多重写文件中的一个(bittornado,...) - 重要的是它是可编写脚本的。您应该注意在.torrent文件中设置“禁用DHT”标志。
您需要找到一个跟踪器,它允许您跟踪具有任意哈希值的文件(因为您事先并不知道这些);您可以使用现有的开放式跟踪器,也可以设置自己的开放式跟踪器,但应注意适当限制客户端IP范围。
这减少了传输.torrent文件的问题 - 我通常通过ssh从cronjob使用rsync
。
答案 1 :(得分:0)
对于点对点传输,torrent是一种昂贵的带宽使用。对于1:n传输,它非常好,因为负载分配允许客户端的上传带宽由其他客户端共享,因此带宽成本是摊销的,每个人都获益......
听起来你只有一个客户,在这种情况下我会看一个不同的解决方案...
wget允许限制,并且如果FTP / http服务器支持恢复传输,则可以从中断处继续传输...这就是我要使用的
答案 2 :(得分:0)
您可以使用rsync(http://linux.die.net/man/1/rsync)。在man中搜索--partial选项,这应该可以解决问题。传输中断时,保留未完成的结果(文件或目录)。 我不是100%确定它是否适用于从本地发送到远程位置的telnet / ssh传输 (从未检查过),但它应该与远程端的rsync守护进程一起使用。
您也可以在两个本地存储位置使用它进行同步。
rsync --partial [-r for directories] source destination
编辑:刚刚用ssh
确认了划掉的声明