🎧 Listen to this article: हिंदी · English · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
Rsync 是一款用于在系统间传输和同步文件的强大工具。它广泛应用于备份、文件镜像以及在本地目录或远程服务器之间更新文件。对于任何使用 Linux 系统的人来说,无论管理备份还是在机器之间传输文件,了解如何使用 Rsync 都是必不可少的。
什么是 Rsync?
Rsync 是一种文件传输工具,它通过仅传输源文件与目标文件之间的差异部分来高效复制文件。该特性减少了数据传输量并加快了处理速度,使其成为系统管理员和开发人员的热门选择。
安装 Rsync
Rsync 在大多数 Linux 发行版的官方软件源中均有提供,且通常已预装。以下是在各系统上的安装方法:
步骤 1:在 Ubuntu 和 Debian 上安装 Rsync
sudo apt install rsync
步骤 2:在 FreeBSD 上安装 Rsync
sudo pkg install rsync
步骤 3:在 Arch Linux 上安装 Rsync
sudo pacman -S rsync
步骤 4:在 Fedora、AlmaLinux、Rocky Linux 和 VzLinux 上安装 Rsync
sudo dnf install rsync
步骤 5:在 CentOS 上安装 Rsync
sudo yum install rsync
Rsync 命令语法
使用 Rsync 的基本语法为:
rsync [OPTIONS] SOURCE DESTINATION
其中:
- OPTIONS: 修改 Rsync 工作方式的标志(例如
-a用于归档模式)。 - SOURCE: 要同步的文件或目录。
- DESTINATION: 源文件要复制到的目标位置。
对于通过 SSH 进行的远程传输,请使用以下语法:
rsync [OPTIONS] [USER@]HOST:SOURCE DESTINATION
将 [USER@]HOST 替换为远程用户的凭据和主机地址。
常用的 Rsync 选项
以下是一些常用的选项:
-a, --archive: 启用归档模式,保留文件属性。-v, --verbose: 在传输过程中提供详细信息。-z, --compress: 在传输过程中压缩数据以节省带宽。--exclude=PATTERN: 排除与特定模式匹配的文件。--delete: 删除目标位置中源目录不存在的文件。
使用 Rsync 传输文件和目录
开始之前,您可以搭建一个测试环境:
步骤 1:创建测试目录
mkdir rsync-test
步骤 2:进入该目录
cd rsync-test
步骤 3:创建示例文件
touch file1 file2 file3
传输本地文件
要将文件复制到名为 dest的新目录,请使用:
rsync file1 file2 file3 dest
验证文件是否已复制:
ls dest/
传输本地目录
要复制目录及其内容,请使用 -a 标志:
rsync -a dest/ dest-copy
验证复制操作:
ls dest-copy/
排除文件或目录
要排除特定文件不被复制,请使用 --exclude 标志:
rsync -a --exclude 'file2' --exclude 'dest*' . output
验证输出:
ls output/
将数据同步到远程机器
要将文件同步到远程机器,请使用:
rsync -hazvP --delete --stats . [email protected]:synced_from_local
该命令执行以下操作:
-h: 以人类可读的格式输出数字。-a: 启用归档模式。-z: 在传输过程中压缩数据。-v: 启用详细输出。--delete: 从目标位置删除源目录中已不存在的文件。--stats: 提供传输摘要。
使用 SSH 登录到远程机器:
ssh [email protected]
结语
Rsync 是一款功能多样的工具,它简化了文件传输和同步。无论您是在备份文件还是在系统之间传输数据,Rsync 的高效性与灵活性都使其成为一项不可或缺的利器。
优点
- 仅传输差异部分,实现高效的文件传输。
- 保留文件属性和元数据。
- 支持压缩以节省带宽。
- 提供灵活的包含/排除文件选项。
缺点
- 由于选项众多,初学者可能会觉得较为复杂。
- 远程传输需要 SSH 访问权限。
- 如果配合删除选项使用不当,可能会导致数据丢失。
注意事项
本文仅供学习参考。使用命令时,请务必将占位符替换为实际数据。在参考任何结论之前,请对照原始来源进行核实。
常见问题
- 什么是 Rsync? — Rsync 是一种文件传输工具,可在本地和远程系统之间高效同步文件。
- 如何在 Linux 上安装 Rsync? — 使用适用于您发行版的包管理器,例如
apt,dnf,或者pacman. - 该
-a选项在 Rsync 中有什么作用? — 该-a选项可启用归档模式,在传输过程中保留文件属性。 - Rsync 可以用于远程传输吗? — 可以,Rsync 可以通过 SSH 与远程系统相互传输文件。
- 该
--exclude选项有什么作用? — 该--exclude选项允许您指定在传输过程中跳过的文件或目录。 - Rsync 使用起来安全吗? — 安全,但使用类似
--delete这样的选项时需格外小心,因为它们会从目标位置删除文件。
Docker Security Checklist
Lock down your containers from build to runtime — 29 practical controls covering images, runtime flags, secrets, and the daemon. Enter your email — you'll get the PDF instantly, plus new posts on Docker, Linux & security.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.