将目录(带有子目录和文件)从一个远程Linux服务器复制到另一个远程Linux服务器的最佳方法是什么?我已使用SSH客户端(如Putty)连接到两者.我有两个root访问权限.
我通常有两种方法,都使用ssh:
scp -r sourcedir/ user@dest.com:/dest/dir/
或者,更强大和更快(在传输速度方面)方法:
rsync -auv -e ssh --progress sourcedir/ user@dest.com:/dest/dir/
如果您想了解有关它们如何工作的更多详细信息,请阅读每个命令的手册页.
我会修改之前建议的回复:
rsync -avlzp /path/to/sfolder name@remote.server:/path/to/remote/dfolder
如下:
-a(用于存档)暗示-rlptgoD所以上面的l和p是多余的.我还想包括-H,它复制硬链接.它不是-a的一部分,因为它很昂贵.所以现在我们有了这个:
rsync -aHvz /path/to/sfolder name@remote.server:/path/to/remote/dfolder
你还必须小心尾随斜杠.你可能想要
rsync -aHvz /path/to/sfolder/ name@remote.server:/path/to/remote/dfolder
如果希望源"sfolder"的内容出现在目的地"dfolder"中.如果没有尾部斜杠,将在目标"dfolder"中创建"sfolder"子目录.
rsync -avlzp/path/to/folder name@remote.server:/ path/to/remote/folder
scp -r@ :
登录一台机器
$ scp -r/path/to/top/directory user @ server:/ path/to/copy