Files
nexus/wiki/entities/rsync.md
2026-04-26 20:02:45 +08:00

3.1 KiB
Raw Blame History

title, type, tags, date
title type tags date
rsync entity
backup
linux
sync
incremental
2026-04-26

rsync

Overview

rsyncRemote 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 备份)

# 同步 /home/user/data 到 NAS 挂载点
rsync -avz --delete /home/user/data/ /mnt/nas_backup/user_data/

2. 通过 SSH 远程同步

# 远程备份(需 SSH key 免密)
rsync -avz -e ssh /local/path/ user@remote:/remote/path/

3. 自动化备份脚本(推荐)

#!/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
  • 永久挂载 — rsync 备份目标端必须先完成 NFS 永久挂载
  • 挂载点检查 — rsync 备份脚本的安全前置检查
  • 增量备份 — rsync 是增量备份的核心工具
  • NFS — NFS 是 rsync 备份到 NAS 的网络传输层
  • Cron定时任务 — rsync 通常通过 Cron 实现定时自动执行

References