如何将目录从一台服务器移到另一台?


10

我可以通过SSH访问这两个服务器,其中一个是空的。如何通过SSH连接将站点目录从旧服务器移到新服务器?

PS:在两台服务器上都是UNIX

Answers:


15

我最喜欢的是rsync。只需复制必须复制的内容(即更改或新的内容)就足够了。

rsync -avz /source/path user@desthost:/destination/path/

请注意最后/的最后一项,要求rsync 该路径内(而不是该路径上)进行复制。
rsync负责为您管理ssh连接。该avz(典型值)的选项要求rsync使用存档(焦油)模式,以递归复制,并保持尽可能多的日期和用户价值。该v选项很详细,以向您显示当前发生的情况。该z选项将压缩(压缩)传输以节省时间和带宽。

rsync 是非常强大的功能,大多数专业人士都在使用它,但是您可能需要首先使用非有价值的数据对其进行测试,以确保路径和选项符合要求。

如果需要在2222之类的非标准端口上通过SSH使用rsync,则可以使用以下命令(请参阅本文):

rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/

我认为rsync是比ssh更好的解决方案,因为ring0已经给出了它的原因,即它仅复制需要复制的内容。因此,如果您需要多次执行此操作,那么rsync将为您提供优于直接scp的优势。
詹森·谭

1
rsync绝对是工具。但是关于斜杠:对于源而不是目的地,这是很重要的:rsync -a / src / / dest将src下的所有内容复制到dest中,rsync -a / src / dest将src及其下的所有内容复制到dest / src / 。
奥斯卡2010年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.