我在正确使用 rsync 时遇到问题,需要您的帮助。这就是我想做的。我在远程服务器(server1)上有一些文件,我想将它们复制到另一台服务器(server2)。 Server2 可以通过 ssh 访问 server1,无需任何密码。
这是 server1 上的文件结构。
/数据/01/文件[s] /数据/02/文件[s]
我想将 /data 下的所有内容复制到 server2 并将目录结构保留在 /data 下,并保持权限不变。
答案1
rsync
命令具有以下语法:
rsync [options] [source] [destination]
因此,从 server2 作为对 server1 具有无密码访问权限的用户:
rsync -avzh server1:/data/ /data/
请参阅rsync 手册页了解更多详细信息,但简短的解释:
-avzh
指定运行此命令时要使用的选项-a
启用存档模式,保留权限、所有权和修改时间等-v
rsync
启用详细模式,这只会增加打印到标准输出的数量-z
在传输过程中启用压缩-h
以人类可读的格式输出数字(例如“36864 字节”变为“36 KB”)
server1:/data/
表明rsync
源是远程服务器 (server1),并且在该远程服务器上,源是/data/
/data/
告诉 rsync 将源复制到的目标 - 请注意,没有指定远程服务器,这意味着这是一个本地目录