Ubuntu/Debian用sudo apt update && sudo apt install rsync -y安装rsync客户端,CentOS/RHEL 8+用dnf、7用yum;备份必须加--delete、--partial、--compress三参数,并配置SSH免密登录与cron定时任务。

Ubuntu/Debian 系统直接用 apt 安装 rsync
绝大多数现代 Linux 发行版默认已预装 rsync,但若提示 command not found,说明确实没装。在 Ubuntu 或 Debian 上,运行:
sudo apt update && sudo apt install rsync -y
安装后验证:
rsync --version
输出类似 rsync version 3.2.7 即成功。注意:不要用 apt install rsync-daemon —— 这是为搭建 rsync 服务端准备的,普通备份只需客户端(也就是 rsync 主包)。
CentOS/RHEL 8+ 用 dnf,RHEL 7 用 yum
CentOS Stream 8 / RHEL 8+ 默认仓库含 rsync,直接:
sudo dnf install rsync -y
RHEL/CentOS 7 则用:
sudo yum install rsync -y
旧系统如 CentOS 6 已停止维护,rsync 版本老旧(如 3.0.6),不支持 --delete-delay 或 --partial-dir 等关键增量控制选项,容易导致误删或断点续传失败,建议升级系统或手动编译新版。
远程增量备份必须加的三个核心参数
只跑 rsync -av source/ user@host:/dest/ 是不够的——它不会自动剔除源端已删除的文件,也不保证传输中断后安全续传。实际备份应至少包含:
-
--delete:同步目标目录结构,删除目标端存在但源端已移除的文件(慎用!先加--dry-run测试) -
--partial:传输中断时保留已下载的部分,下次自动续传(避免重复传大文件) -
--compress:对非压缩文件(如文本、日志)启用传输压缩,降低带宽占用(对已压缩文件如.zip、.jpg自动跳过)
典型命令示例:
rsync -avz --partial --delete --dry-run /data/ user@backup-server:/backup/data/
确认无误后,删掉 --dry-run 再执行。
免密登录 + 定时任务才是可靠备份的关键
rsync 走 SSH,默认每次都要输密码,无法放进 cron 自动执行。必须配置 SSH 免密登录:
ssh-keygen -t ed25519 ssh-copy-id user@backup-server
然后写进 crontab(例如每天凌晨 2 点执行):
0 2 * * * /usr/bin/rsync -avz --partial --delete /data/ user@backup-server:/backup/data/ >> /var/log/rsync-backup.log 2>&1
注意:/usr/bin/rsync 必须写绝对路径(crontab 环境变量精简,可能找不到 rsync);日志重定向不能少,否则失败时你根本不知道哪出问题。
真正难的不是装 rsync,而是确保 SSH 连通性、磁盘空间余量、目标目录权限、以及每次变更后重新验证 --dry-run 输出——这些地方一漏,备份就变成“假同步”。










