📅  最后修改于: 2023-12-03 15:04:56.391000             🧑  作者: Mango
rsync
是一款常用的文件传输工具,它可以帮助你在不同主机或者同一主机的不同目录之间同步文件。
一个常见的场景是在不同机器之间同步代码或者数据,而在同步过程中有些文件是符号链接。使用 rsync
同步符号链接时,默认是不会跟随符号链接的。本文将介绍如何让 rsync
也跟随符号链接同步文件。
假设你有两台主机 src_host
和 dst_host
,它们之间可以通过 SSH 互相访问。现在要将 src_host:/path/to/source
目录同步到 dst_host:/path/to/destination
目录,可以使用以下命令:
rsync -avz --delete -e ssh /path/to/source/ dst_host:/path/to/destination/
命令参数说明:
-a
:以归档模式同步文件,相当于使用 -rlptgoD
-v
:显示详细的同步过程-z
:在网络较慢的情况下启用压缩--delete
:删除 destination
目录中没有在 source
目录中的文件-e ssh
:使用 SSH 连接默认情况下,rsync
不会跟随符号链接同步文件。如果要让 rsync
跟随符号链接同步文件,可以使用 -L
参数:
rsync -avz -L --delete -e ssh /path/to/source/ dst_host:/path/to/destination/
-L
参数相当于 --copy-links
,它会在同步文件时复制符号链接所指向的文件或目录。
本文介绍了如何让 rsync
跟随符号链接同步文件。使用 -L
参数可以告诉 rsync
在同步文件时复制符号链接所指向的文件或目录。