如何使用 Rsync 同步本地和远程目录
如何使用 Rsync 同步本地和远程目录

使用 rsync 在服务器和本地系统之间同步目录

文件同步是数据存储、备份和服务器管理中最关键的操作之一。rsync 工具功能强大、灵活且经过优化,是完成此任务的理想选择。本指南将向您展示如何使用 rsync 同步本地和远程目录(服务器上的目录)、将其用于备份以及实现传输自动化。.
0 股票
0
0
0
0

1. 先决条件

执行 rsync 本地系统和远程服务器之间需要:

  • 两台设备:一台是本地设备(你的电脑),另一台是…… Linux 服务器 (虚拟专用服务器或独立服务器)

  • rsync 两个系统上均已安装

  • 两个系统之间的 SSH 访问(这样您就可以在无需不断输入密码的情况下进行通信)

  • 目标服务器上的 SSH 公钥位于文件中 授权密钥 待放置


2. rsync 的概念和功能(面向初学者和专业人士的专业易懂版本)

rsync 是 Linux 中一个功能强大的命令行工具,用于…… 同步(Sync)数据传输 它用于连接两条路径,无论这两条路径是在同一系统上还是在两个不同的服务器上。.

但为什么rsync如此受欢迎?
正因为如此 它不会传输整个文件,而只会传输已更改的部分。.

rsync 的工作原理究竟是什么?(简单明了的解释)

运行 rsync 时,该工具首先:

  1. 两条赛道的结构和内容 (例如,目标文件夹和源文件夹)进行比较。.

  2. 检查 哪些文件是新增的,哪些文件发生了更改,哪些文件已被删除或未更改?.

  3. 不要发送整个文件,只需 部分数据已发生变化 转账。.

这种方法被称为:

增量转移算法

这个 rsync 算法 速度非常快,效率很高。 确实如此,原因如下:

  • 带宽消耗降低。

  • 传输时间大大缩短。

  • 服务器端的 CPU 资源占用较少。


一个简单的例子,帮助更好地理解 rsync 的功能

假设你有一个 1GB 的文件,其中只有 5MB 发生了变化。.

  • 常用工具,例如 SCP-1811 他们重新上传了全部1GB的文件。.

  • rsync 只会发送发生变化的那 5MB 数据。.

这意味着:

  • 更快的速度

  • 减少互联网使用

  • 减轻服务器压力


rsync 和服务器:为什么它是服务器管理的最佳工具?

当在 服务器 或者 VPS 你工作时通常需要:

  • 在两台服务器之间移动备份

  • 将网站文件从当前服务器迁移到新服务器

  • 始终保持重要文件夹(如 /var/www)同步。

  • 传输大文件而不浪费带宽

在所有这些情况下,rsync 都是最佳选择,因为:

使用 SSH 进行安全传输。

rsync 使用 SSH 协议进行传输,因此:

  • 数据已加密。

  • 无需打开额外的端口

  • 通信安全有保障。

删除目标位置的多余文件

带旗 - 删除 它可以使目的地与源地址完全一致。.

简历功能

如果在传输过程中互联网连接中断,rsync 将继续传输剩余的文件,而不是从头开始。.

适用于自动化

它可以轻松集成到 cron 作业中,并创建自动化备份流程。.


举个例子以便更好地理解:

如果要将以下路径从服务器 A 同步到服务器 B:

rsync -avz /var/www/ user@server-ip:/var/www/

这条命令:

  • 仅文件夹更改 /var/www 转会

  • 在目的地更新它。

  • 确保通过 SSH 进行安全传输。


给 rsync 新手的简单总结:

特征解释
主要应用数据传输和文件夹同步
主要优势只传输更改部分,不传输整个文件。
安全使用 SSH 进行安全传输
高速由于增量传输算法
专业且对服务器友好用于备份和迁移 VPS 的最佳工具

3. rsync 基本语法

总体结构 rsync 就像其他文件工具一样 SCP-1811 是:

rsync [OPTIONS] منبع مقصد

简单的本地示例:

  • 在本地系统上创建两个测试文件夹

  • 执行:

    rsync -a dir1/ dir2

    在这种情况下,只有内容 目录1dir2 移动的是文件本身,而不是文件夹。.

选项 -一个 建议使用(存档)功能,原因如下:

  • 递归同步目录

  • 保留文件所有权、修改时间和权限

重要提示:如果在源路径末尾添加“/”,则只会同步目录的内容;否则,将传输原始文件夹本身。.


4. 使用以下方式运行安全预览: --试运行

在执行敏感操作之前(尤其是在使用诸如以下选项时): - 删除 如果你要使用某个工具),最好先进行一次试运行:

rsync -anv --delete /مسیر/منبع/ /مسیر/مقصد/
  • 选项 -n 或者 --试运行 模拟操作而不进行任何更改

  • -v (详细)提供正在同步或删除的文件的详细输出。

此预览功能可帮助您在删除文件之前准确了解将会发生什么,从而避免犯下危险的错误。.


如何使用 Rsync 同步本地和远程目录
如何使用 Rsync 同步本地和远程目录

5. 在本地系统和服务器之间推送和拉取文件

发送到服务器(推送)

将本地目录同步到服务器:

rsync -a ~/local-dir/ user@remote-server:/remote/path/
  • -一个保留文件属性

  • ~/local-dir/本地路线

  • 用户@远程服务器用户和服务器地址

  • :/远程/路径/服务器上的路径

如果源文件的末尾是“/”,则只发送文件夹的内容;否则,文件夹本身也会被传输。.

从服务器接收(拉取)

反向操作:从服务器到本地系统的同步:

rsync -a user@remote-server:/remote/path/ ~/local-dir/

再次强调,需要注意源路径(此处为服务器路径)中的斜杠,因为它决定了同步行为。.


6. 高级选项 rsync

  • -z发送数据时进行压缩以减少网络使用量

  • -P:一种组合 - 进步- 部分的 这样可以显示转账进度,并允许继续进行未完成的转账。

例子:

rsync -azP ~/local/dir/ user@remote:/remote/dir/
  • - 删除删除目标位置存在但源位置已不存在的文件(适用于镜像)

  • - 排除- 包括:筛选文件/文件夹以实现更精确的交互

  • --备份--备份目录在单独的路径中创建已删除文件的备份


7. 使用 Cron 定时任务进行同步

要运行定期同步,您可以 rsynccron 日程:

  • 编辑 crontab:

    crontab -e
  • 每日同步 cron 作业示例:

    0 3 * * * /usr/bin/rsync -a --delete /var/www/html/ user@remote:/backups/html/

    该命令每天凌晨 3 点运行,并将本地目录与服务器版本同步。.

关于定时任务的重要建议:

  • 从绝对路径到 rsync 并使用目录

  • 设置无密码 SSH 密钥登录

  • 将 cron 输出保存到日志文件或处理错误


8. 常见问题排查和最佳实践

使用过程中遇到的一些常见问题 rsync 及其解决方案:

  • 源/目标路径错误:使用 --试运行 详细评测

  • 意外删除文件只有当我们完全确定时 - 删除 让我们使用

  • 权限错误: 和 -一个 保留所有权和权限。

  • 自动化问题使用完整路径和无密码 SSH 身份验证


结论

rsync 它是一款功能强大且经过优化的工具,用于在本地计算机和服务器之间同步数据。得益于增量传输算法,该工具功耗低、安全可靠,是备份、数据传输和创建镜像环境的理想选择。使用高级选项,尽情探索…… --试运行 并安排时间 cron您可以优化、保护和自动化同步过程。.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

您可能也喜欢