📜  rsync 跟随符号链接 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:04:56.391000             🧑  作者: Mango

rsync 跟随符号链接

简介

rsync 是一款常用的文件传输工具,它可以帮助你在不同主机或者同一主机的不同目录之间同步文件。

一个常见的场景是在不同机器之间同步代码或者数据,而在同步过程中有些文件是符号链接。使用 rsync 同步符号链接时,默认是不会跟随符号链接的。本文将介绍如何让 rsync 也跟随符号链接同步文件。

基本使用

假设你有两台主机 src_hostdst_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 在同步文件时复制符号链接所指向的文件或目录。