rsync会比tar,wget和untar更好吗?

我正在迁移到一个新的服务器,以及HTML / PHP文件,有一个目录,其中包含大约90,000文件总共24GB的大小,需要移动。

当我进行testing迁移时,我使用了tar来创build一个tar包,然后在新主机上wget,然后提取tar文件,但是,虽然工作正常,但大约需要3个小时才能完成。 这将会有3个小时的停机时间,而我在实际迁移时这样做是为了确保没有新文件进来或文件被更改等。

我现在正在计划实际的迁移,并试图find更快的方法这样做,并想知道如何使用rsync – 我只有在本地使用rsync,只有less量的文件,所以会运行rsync对90k项目比上述更快方法?

只要实际过程完成得更快,我就不用担心CPU,内存或networking的使用了,因为无论如何,这个过程会在几个小时之内完成。

你将不得不testing以找出答案。 有很多variables,比如你的存储系统的速度。

考虑在旧系统启动时恢复您的tar归档或备份。 然后在停机期间使用rsync来复制剩余的更改。 它还需要检查很多需要花费时间的文件修改时间,但是I / O和networking传输要less得多。

这个增量副本是rsync擅长的。 一气呵成,可能不会比其他工具更快。

Rsync可能允许您同步文件,而不会closures服务器。 例如,您可以在生产中进行同步,然后closures服务器,再次同步以确保您同时获得了所有已更改的内容,然后打开新的服务器。 第二个同步将是增量式的,并且会占用整个时间的一小部分,最大限度地减less停机时间。

rsync将仅复制差异 – 仅从源服务器到目标服务器的更改。 如果你已经有新的服务器上的数据的副本,rsync将只复制你的焦油和实际状态之间的变化。

如果你想用tar而不是rsync来做到这一点,你可以把你的任务平行一下:

资源 :

 tar ... | nc host port 

目的地:

 nc -l -p port | tar ... 

它至less会减less你的时间两个