Linux 系统中 rsync 命令的全面指南187
简介rsync 是一个高效的远程文件同步工具,用于在 Linux 系统之间复制和更新文件。它使用一种称为“增量传输”的技术,该技术仅传输已更改的部分,从而节省带宽和时间。
安装 rsync在大多数 Linux 发行版中,rsync 都已预安装。如果您尚未安装它,可以使用以下命令进行安装:
sudo apt-get install rsync
基本语法以下是最基本的 rsync 语法:
rsync [选项] 源文件/目录 目标文件/目录* 源文件/目录:要复制的文件或目录。
* 目标文件/目录:要复制到的目标文件或目录。
您可以使用以下选项来自定义 rsync 行为:
-a:归档模式,保留源文件的所有属性(例如所有权、权限和符号链接)。
-r:递归复制目录。
-v:详细模式,显示传输过程中的详细信息。
-z:使用 SSH 压缩数据传输。
--progress:显示传输进度。
常用选项
除了基本选项外,rsync 还有许多其他有用的选项:* -b:备份文件,在更新之前创建副本。
* --exclude:排除特定文件或目录。
* --include:包括特定文件或目录。
* --delete:删除目标目录中不再存在于源目录中的文件。
* --update:仅更新较旧的文件。
示例用法
以下是使用 rsync 的一些示例:* 复制一个文件:
rsync -av /home/user/ /backup/* 递归复制目录:
rsync -ar /home/user/directory /backup/directory* 同步本地目录和远程服务器上的目录:
rsync -azv /home/user/directory username@remote_server:/remote_path* 使用 SSH 压缩更新远程文件:
rsync -azv --progress -e ssh /home/user/ username@remote_server:/remote_path
高级用法
rsync 中还有一些高级选项,可实现更高级的同步功能,例如:* 增量备份:使用 --link-dest 选项,rsync 可以创建硬链接到现有文件,而不是复制它们,从而节省存储空间。
* 管道处理:使用 | 符号,rsync 可以将文件传输管道传输到另一个命令,例如压缩或加密。
* 远程 shell 执行:使用 --rsh 和 --rsync-path 选项,rsync 可以通过远程 shell 命令执行同步操作。
有关 rsync 的更多详细信息,请参阅其手册页。
2025-01-25