我不确定这是否是这个问题最好的地方,但是我认为这正是ITpipe理员的领域,所以这就是我把它放在这里的原因。
我们需要与外部客户端共享大文件(几个千兆字节)。 我们需要一种可靠和自动发布这些文件的简单方法,以便客户端可以下载它们。 我们的组织拥有Windows桌面和Windows SBS 2011服务器。
从客户端的angular度来看,从我们的服务器共享可能是不理想的,因为典型的ADSL(约1Mbps)的上行带宽较低 – 客户端需要花费一整天的时间(9小时)来下载文件。
上传到第三方服务器对客户有好处,但对我们来说是痛苦的,因为我们必须处理多个小时的上传。
如果上传到第三方服务器可能会变得更加可靠和自动,例如Groove / SharePoint Workspace,只需将文件放入并等待它同步即可 – 问题不大,但Groove有2Gb限制足够大。
所以理想情况下我想要一个具有以下属性的服务:
有什么build议么?
我假设你正在寻找一个服务器解决scheme,而不是一个SAAS产品,否则这个问题将是offtopic。
Sparkleshare是一个开源软件,可以满足您的需求。
但我build议只使用rsync镜像到具有所需带宽的远程服务器。 你可以在几分钟内build立这个系统,它可以做你想做的一切。
只需指定一个源文件夹并放入文件。在远程服务器上为您的客户端提供Web访问或ftp访问等。
我build议启动一个无限循环的shell脚本,执行rsync并在每次迭代后hibernate1秒钟。 与Cronjob相比,这样做的好处是您不会受到干扰的并行上传。 而你的大文件,这将是我现在看到的问题。
Rsync甚至具有文件首先作为“隐藏”file upload的优点。 前缀和一个随机的名字,所以客户端只能看到完成上传的文件,并通过了完整性检查。
如果文件更新,rsync也可以有效地处理这个文件。
只是这个脚本应该是适合你的:
#!/bin/bash while [ 1 = 1 ] do rsync -arvz /my/sourcefolder/ [email protected]:/remote/folder/ sleep 1; done
只要监视它的运行,把它放在自动启动等等
您也可以使用rsync进行压缩。
您可以使用上面的内容 – 您可以为此设置一个专用窗口框,并为不同的客户端创build文件夹结构,在本地局域网上共享这些文件夹,任何进入这些文件夹的文件都会自动启动。
您还可以为您的客户提供连接到您的服务器的Web界面URL或文件催化剂客户端,并下载这些大型文件。
河床是另一种解决scheme(谷歌它)。
希望这可以帮助