服务器测评网
我们一直在努力

Linux rsync配置教程,如何实现增量同步与免密登录?

Linux rsync 配置详解

rsync 概述

rsync(Remote Sync)是一款快速、 versatile 的远程文件同步工具,支持本地与远程、远程与远程之间的文件同步,其核心优势在于通过增量传输机制,仅同步文件差异部分,大幅减少数据传输量,适用于备份、镜像和大规模数据迁移场景,rsync 支持加密传输(通过 SSH)、权限保留、符号链接处理等高级功能,成为 Linux 系统管理员必备工具之一。

Linux rsync配置教程,如何实现增量同步与免密登录?

安装与基础用法

安装 rsync

在主流 Linux 发行版中,rsync 通常可通过包管理器安装:

  • Debian/Ubuntusudo apt update && sudo apt install rsync
  • CentOS/RHELsudo yum install rsyncsudo dnf install rsync
  • Arch Linuxsudo pacman -S rsync

安装后,可通过 rsync --version 验证版本信息。

基础命令格式

rsync 的基本语法结构如下:

rsync [选项] 源路径 目标路径

常见选项
| 选项 | 说明 |
|——|——|
| -a | 归档模式,相当于 -rlptgoD(递归、保留权限等) |
| -v | 显示详细输出 |
| -z | 启用压缩传输 |
| -h | 以人类可读格式显示文件大小 |
| --progress | 显示传输进度 |
| --delete | 删除目标中不存在于源文件的文件 |

示例

Linux rsync配置教程,如何实现增量同步与免密登录?

  • 本地同步:rsync -avz /local/dir/ /backup/dir/
  • 远程同步(通过 SSH):rsync -avz -e ssh user@remote:/remote/dir/ /local/dir/

配置文件与高级选项

全局配置文件

rsync 的全局配置文件为 /etc/rsyncd.conf,需启用守护进程模式(rsync --daemon),配置文件主要包含模块(Module)定义,每个模块指定一个同步目录及相关权限。

示例配置

[web_backup]
    path = /var/www/backup
    comment = "Web server backup directory"
    read only = false
    list = yes
    uid = root
    gid = root
    auth users = backup_user
    secrets file = /etc/rsyncd.secrets

关键参数说明

  • path:同步的根目录。
  • read only:是否允许写入(false 表示可写)。
  • auth users:认证用户(需与 secrets file 配合使用)。
  • secrets file:存储用户密码的文件(格式:username:password,权限需设为 600)。

密码文件配置

创建密码文件 /etc/rsyncd.secrets

echo "backup_user:SecurePassword123" | sudo tee /etc/rsyncd.secrets
sudo chmod 600 /etc/rsyncd.secrets

启动 rsync 守护进程

编辑 /etc/default/rsync(或 /etc/sysconfig/rsync),启用 RSYNC_ENABLE=true,然后启动服务:

Linux rsync配置教程,如何实现增量同步与免密登录?

sudo systemctl enable rsync
sudo systemctl start rsync

常见使用场景

定时备份(结合 cron)

通过 crontab 设置定时任务,例如每天凌晨 2 点同步数据:

0 2 * * * rsync -avz /data/ user@backup:/backup/data/

排除特定文件

使用 --exclude 选项排除不需要同步的文件或目录:

rsync -avz --exclude="*.tmp" --exclude="logs/" /source/ /dest/

限制带宽使用

通过 --bwlimit 限制传输速率(单位:KB/s):

rsync -avz --bwlimit=1024 /source/ /dest/

安全与优化建议

  1. 使用 SSH 传输:避免直接暴露 rsync 守护进程,优先通过 -e ssh 加密连接。
  2. 防火墙配置:若使用 rsync 守护模式,需开放 TCP 端口 873(或自定义端口)。
  3. 日志记录:在 /etc/rsyncd.conf 中添加 log file = /var/log/rsyncd.log 跟踪同步操作。
  4. 测试同步:首次使用时,添加 --dry-run 选项预览同步行为,避免误操作:
    rsync -avz --dry-run /source/ /dest/

故障排查

  1. 权限问题:确保源/目标目录的用户权限正确,尤其是 uidgid 匹配。
  2. 连接超时:检查网络防火墙或 SSH 配置(如 /etc/ssh/sshd_configAllowUsers)。
  3. 密码错误:验证 secrets file 格式及权限,避免密码含特殊字符。

rsync 凭借其高效性和灵活性,成为 Linux 环境下文件同步的首选工具,通过合理配置守护进程、结合 cron 定时任务,并注重安全与性能优化,可实现可靠的数据备份与迁移,无论是小型服务器还是大型分布式系统,rsync 均能提供稳定、可扩展的同步解决方案。

赞(0)
未经允许不得转载:好主机测评网 » Linux rsync配置教程,如何实现增量同步与免密登录?