--- title: "rsync" type: entity tags: [backup, linux, sync, incremental] date: 2026-04-26 --- # rsync ## Overview **rsync**(Remote Sync)是一款开源增量文件同步工具,广泛用于 Linux/Unix 系统间的备份和同步操作。它通过高效差异算法,仅传输源文件和目标文件之间的差异部分,实现带宽和时间的高效利用。 ## Key Characteristics | 特性 | 说明 | |------|------| | **增量同步** | 仅传输变更部分,支持 `-a`(归档)、`-v`(详细)、`-z`(压缩传输) | | **协议支持** | 本地、SSH、Rsync Daemon、NFS、Samba | | **权限保留** | `-a` 保留文件所有权、时间戳、权限等属性 | | **Dry Run** | `--dry-run` / `-n` 预览同步效果,不实际执行 | | **删除选项** | `--delete` 同步目标端多余文件(谨慎使用) | ## Common Usage Patterns ### 1. 本地到 NFS 挂载点(Home Server 备份) ```bash # 同步 /home/user/data 到 NAS 挂载点 rsync -avz --delete /home/user/data/ /mnt/nas_backup/user_data/ ``` ### 2. 通过 SSH 远程同步 ```bash # 远程备份(需 SSH key 免密) rsync -avz -e ssh /local/path/ user@remote:/remote/path/ ``` ### 3. 自动化备份脚本(推荐) ```bash #!/bin/bash # /usr/local/bin/rsync_backup.sh SOURCE_DIR="/home/ubuntu/data" TARGET_DIR="/mnt/nas_backup" LOG_FILE="/var/log/rsync_backup.log" # 挂载点安全检查 if ! mountpoint -q $TARGET_DIR; then echo "$(date) 错误:NAS 未挂载,备份任务取消!" >> $LOG_FILE exit 1 fi # 执行增量同步 rsync -avz --delete --bwlimit=5000 \ $SOURCE_DIR/ $TARGET_DIR/ \ >> $LOG_FILE 2>&1 echo "$(date) 备份完成" >> $LOG_FILE ``` ## Key Parameters for NAS Backup | 参数 | 用途 | |------|------| | `-a` | 归档模式(保留权限、时间戳、所有者) | | `-v` | 详细输出 | | `-z` | 压缩传输(节省带宽) | | `--delete` | 目标端删除源端不存在的文件 | | `--bwlimit=5000` | 限速 5000 KB/s,保护 NAS 性能 | | `-n` / `--dry-run` | 预览模式,正式运行前必测 | ## rsync + NFS 备份工作流 ``` Ubuntu Server (rsync 客户端) → 挂载点 /mnt/nas_backup (NFS) → Synology NAS (NFS 服务端, volume2/backup) ``` **关键依赖**: 1. Synology DSM NFS 权限已配置(Squash=admin) 2. Ubuntu 已通过 /etc/fstab 永久挂载 NFS 3. 挂载点检查通过后再执行 rsync ## Related Concepts - [[永久挂载]] — rsync 备份目标端必须先完成 NFS 永久挂载 - [[挂载点检查]] — rsync 备份脚本的安全前置检查 - [[增量备份]] — rsync 是增量备份的核心工具 - [[NFS]] — NFS 是 rsync 备份到 NAS 的网络传输层 - [[Cron定时任务]] — rsync 通常通过 Cron 实现定时自动执行 ## Related Sources - [[ubuntu服务器通过rsync实现日常增量备份]] — rsync + Cron + NFS 完整备份方案 - [[如何在ubuntu-server上通过nfs挂载synology-nas上的共享文件夹]] — NFS 挂载配置 ## Related Entities - [[Ubuntu Server]] — rsync 客户端运行环境 - [[Synology-NAS]] — rsync 备份的目标 NAS 存储 ## References - rsync 官网: https://rsync.samba.org/ - man rsync (本地查看)