2012-08-10 57 views
1

我正在开展一项任务,将大约100 Gb的数据(包括目录中的一千个文件和子文件夹)备份(复制)到另一台服务器。通常,对于较小的规模,我可以使用scp或rsync来代替。但是,由于其他服务器不在同一LAN网络上,因此可能需要几个小时甚至几天才能完成任务。终端运行时,我不能将电脑留在那里。我不认为这是最好的选择,再次,我有另一个很好的理由来使用Python :)如何使用Python在网络上传输大量数据?

是否有任何图书馆,或最佳做法的开始?因为它只是用于内部项目,我们不需要任何花哨的功能,只是一些基本的东西,如日志记录,容错等。

+0

“我不能让我的电脑离开终端。” - 有什么问题?你能启动一些东西并锁定屏幕吗?或者,你是否不想让电脑离开“那里”? – 2012-08-10 04:02:00

+0

嗨格雷格,有2个问题,是的,我在笔记本电脑上运行终端上的scp/rsync,我最终需要移动。其次,如果有几个小时的运行进度,如果我的家庭网络有任何问题,就很容易发现连接错误。这就是为什么我试图在Python中找到一个好的解决方案。 – mrblue 2012-08-10 04:06:27

+3

我肯定会推荐rsync,因为如果连接出现问题,它很容易重新启动。您不能从轻松停止的地方重新启动scp。 – 2012-08-10 04:09:30

回答

3

我认为你最好的选择是从屏幕内使用scp或rsync 。这样你就可以分离屏幕会话和注销,并且转移将继续进行。

man screen

+0

嗨pizen,这意味着我可以使用_screen_然后登录到服务器,然后启动rsync到另一个,并关闭终端窗口而不停止进度? – mrblue 2012-08-10 04:19:11

+0

您将登录到服务器,然后使用屏幕。您可以从屏幕内开始传输,分离会话并注销。之后,您将重新登录,恢复屏幕会话,并检查您的传输进度。 – pizen 2012-08-10 04:53:38