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

rsync 參數詳解與 rsync 服務端/客戶端部署實戰

編輯:Linux 教學

rsync 是 Linux 下強大的差異同步備份工具,支援 SSH 加密傳輸、守護進程模式、定時任務。本文系統整理核心參數、服務端搭建、客戶端調用、定時同步與常見問題。

一、核心參數速查表

參數含義
-a, --archive歸檔模式,等同 -rlptgoD(保權限、屬主、時間、符號鏈接等)
-z, --compress傳輸時壓縮數據
-v, --verbose顯示詳細進度
-e, --rsh=COMMAND指定遠程 Shell(ssh/rsh)
--delete精確鏡像:源端刪除的文件,目標端同步刪除
--include=PATTERN不排除符合模式的文件/目錄
--exclude=PATTERN排除符合模式的文件/目錄
--password-file=FILE指定密碼文件(守護進程模式認證)

二、路徑格式與斜線語義

rsync://[USER@]HOST[:PORT]/PATH      # rsync 守護進程路徑
[USER@]HOST::PATH                    # 守護進程另一種寫法
[USER@]HOST:PATH                     # SSH/遠程 Shell 路徑
LOCAL_PATH                           # 本地路徑

關鍵細節:源路徑結尾 有無斜線語義不同:

  • src/ → 複製目錄內容,不含目錄本身
  • src → 複製目錄本身及內容

三、SSH 模式直連同步(無需守護進程)

# 將遠端 test:/home/ftp/pub/ 同步到本地 /home/ftp/pub/
rsync -ave ssh test:/home/ftp/pub/ /home/ftp/pub/

# 通過 rsync 協議同步並刪除多餘文件(謹慎使用 --delete)
rsync -azv --delete rsync://linuxing@192.168.1.100/blog /var/www/html/

四、搭建 rsync 守護進程服務端

1. 主配置 /etc/rsyncd.conf

log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[test]
path = /var/www/html/test
comment = test folder
uid = apache
gid = apache
ignore errors
read only = yes
list = no
auth users = linuxing
secrets file = /etc/rsyncd.secrets

2. 密碼文件 /etc/rsyncd.secrets

linuxing:backup

權限鎖死:chown root:root /etc/rsyncd.secrets && chmod 600 /etc/rsyncd.secrets

3. 啟動守護進程

rsync --daemon

4. 開機自啟(xinetd 托管)

sed -i -e '/disable/{ s/yes/no/ }' /etc/xinetd.d/rsync
service xinetd restart

五、客戶端調用與定時同步

# 帶密碼同步
rsync -azv --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test

# 密碼文件 /etc/test 內容僅一行:backup,權限 600

# 定時任務(每工作日晚 22:00 同步,去掉 -v 避免刷屏)
crontab -e
0 22 * * 1-5 /usr/bin/rsync -az --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test

六、編譯安裝路徑差異(FreeBSD 等)

文件路徑
配置文件/usr/local/etc/rsyncd.conf
啟動腳本/usr/local/etc/rc.d/rsyncd.sh
二進制/usr/local/bin/rsync
開機自啟/etc/rc.conf 加 rsyncd_enable="YES"

七、優勢總結

  • SSH 加密傳輸,支援密鑰免密認證
  • 大型複雜目錄結構同步比 tar/wget 快得多
  • 支援精確鏡像(--delete)、增量傳輸、斷點續傳
  • 跨平台(Linux/BSD/macOS/Windows/cygwin)

掌握 rsync 核心參數與部署模式,是構建高可靠備份體系的基礎技能。

Copyright © Windows教程網 All Rights Reserved