Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux rsync 遠端同步備份完整指南:六大工作模式、核心參數表、實戰範例

編輯:Linux 教學

rsync (Remote Sync) 是 Linux 最強大的增量同步工具,支援本地/遠端、Shell/守護進程傳輸、壓縮、權限保留、斷點續傳。本文系統整理六大工作模式、核心參數速查表、常用實戰範例。

六大工作模式與命令格式

模式命令格式觸發條件範例
1. 本地複製rsync [OPT] SRC DESTSRC/DEST 無單冒號rsync -a /data /backup
2. 本地 → 遠端 (Shell)rsync [OPT] SRC [USER@]HOST:DESTDEST 含單冒號 :rsync -avz *.c user@server:src/
3. 遠端 → 本地 (Shell)rsync [OPT] [USER@]HOST:SRC DESTSRC 含單冒號 :rsync -avz user@server:src/ /data
4. 遠端守護進程 → 本地rsync [OPT] [USER@]HOST::SRC DESTSRC 含雙冒號 ::rsync -av user@server::www /databack
5. 本地 → 遠端守護進程rsync [OPT] SRC [USER@]HOST::DESTDEST 含雙冒號 ::rsync -av /databack user@server::www
6. 列出遠端模組rsync [OPT] rsync://[USER@]HOST[:PORT]/SRC [DEST]rsync:// 協議rsync -v rsync://server/www

核心參數速查表 (按功能分類)

類別參數說明
輸出控制-v, --verbose詳細輸出
-q, --quiet精簡輸出
--progress顯示傳輸進度條
--stats傳輸統計摘要
傳輸模式-a, --archive歸檔模式 = -rlptgoD (遞歸、連結、權限、時間、擁有者、群組、設備)
-r, --recursive遞歸目錄
-l, --links保留軟連結
-L, --copy-links將軟連結指向實體複製
-H, --hard-links保留硬連結
-W, --whole-file整檔複製 (不增量),網路快於本地磁碟時有效
同步策略-u, --update僅更新目標較舊檔案 (跳過較新)
--existing僅更新目標已存在檔案 (不建立新檔)
--delete刪除目標端源無的檔案 (鏡像模式)
--delete-excluded同步刪除被排除的檔案
--ignore-errorsIO 錯誤也繼續刪除
檔案過濾--exclude=PATTERN排除匹配模式
--include=PATTERN強制包含 (配合 exclude 使用)
--exclude-from=FILE從檔案讀取排除模式
--filter='merge FILE'進階過濾規則檔
網路與效能-z, --compress傳輸壓縮 (慢網路有效)
-e, --rsh=COMMAND指定遠端 Shell (預設 ssh)
--bwlimit=KBPS限制頻寬 (KB/s)
-P--partial --progress 斷點續傳+進度
其他--dry-run模擬運行,不實際寫入
--password-file=FILE守護進程認證密碼檔
--version顯示版本

實戰範例精選

# 1. 本地目錄鏡像備份 (刪除目標多餘)
rsync -av --delete /source/ /backup/

# 2. 遠端伺服器增量備份 (SSH, 壓縮, 進度)
rsync -avzP --delete /var/www/ user@backup-server:/backup/www/

# 3. 僅同步特定副檔名 (包含/排除配合)
rsync -av --include="*.php" --include="*/" --exclude="*" /source/ /dest/

# 4. 守護進程模式 (需配置 /etc/rsyncd.conf)
# 伺服器端模組 [www] path=/var/www read only=yes
rsync -av user@server::www /local/backup/

# 5. 限制頻寬 1MB/s,斷點續傳
rsync -avzP --bwlimit=1024 /large/ user@server:/backup/

# 6. 模擬運行確認將傳輸檔案
rsync -avzn --delete /source/ /backup/

rsyncd.conf 伺服器端最小配置

uid = nobody
gid = nogroup
use chroot = yes
max connections = 10
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log

[www]
    path = /var/www
    comment = Web Root
    read only = yes
    auth users = backup
    secrets file = /etc/rsyncd.secrets
# /etc/rsyncd.secrets
backup:password123
# chmod 600 /etc/rsyncd.secrets

常見陷阱

  • 末尾斜線 /source/ vs /source:前者同步**內容**,後者同步**目錄本身**。
  • --delete 配合 --exclude 可能誤刪,建議先 --dry-run。
  • 大量小檔案傳輸慢:-W 整檔複製或打包 tar 傳輸後解壓。
  • 權限保留需 root:普通用戶無法保留擁有者/群組,建議伺服器端以 root 運行 rsync daemon。
Copyright © Windows教程網 All Rights Reserved