
# 用 rsync 做高效增量備份:一次過學識 Linux 檔案同步必殺技
做 IT 嘅朋友成日都要處理檔案備份,成日喺度諗「點樣先可以又快又穩陣咁同步一堆檔案?」。今日就同大家分享一個 Linux 世界嘅老牌神器 —— **rsync**。佢唔單止可以做到增量備份(只傳送有變動嘅檔案),仲支援斷點續傳、壓縮傳送,仲可以跨 server 同步,真係 IT 人必學嘅一招。
## 乜嘢係 rsync?
**rsync** 係一個用 C 語言寫成嘅檔案同步工具,最大特色係佢用咗一個叫「delta 演算法」嘅技術,只會傳送檔案之間有差異嘅部分,而唔係成個檔案重傳。換句話講,如果你有一個 10GB 嘅資料夾,改咗入面一個 1KB 嘅檔案,rsync 只會傳嗰 1KB 嘅變化,慳返大量頻寬同時間。
## 基本用法
最簡單嘅用法就係將一個資料夾同步去另一個地方:
rsync -avh /source/path/ /destination/path/
呢度幾個參數係咩意思:
– `-a`:archive 模式,保留權限、時間戳、符號連結等所有屬性
– `-v`:verbose,顯示詳細輸出,俾你睇到同步咗啲乜
– `-h`:human-readable,用 KB/MB/GB 顯示檔案大小
## 遠端同步:跨 server 備份
如果你要將檔案備份去另一部 server,就要用 SSH 協議:
rsync -avhz -e ssh /local/path/ user@remote-server:/remote/path/
呢度新增咗:
– `-z`:壓縮傳送,適合網路速度慢嘅環境
– `-e ssh`:指定用 SSH 做傳送通道,安全又加密
## 進階技巧:排除指定檔案
有啲檔案你唔想備份,例如快取檔、log 檔,可以用 `–exclude`:
rsync -avh --exclude='*.log' --exclude='node_modules/' /source/ /backup/
仲可以用 `–delete` 參數,令目的地同來源完全一致,來源刪咗嘅檔案,目的地都會跟住刪:
rsync -avh --delete /source/ /backup/
⚠️ 用 `–delete` 之前一定要小心測試,因為佢會真係刪除目的地嘅檔案!
## 實戰:每日自動備份
你可以將 rsync 配合 cron job 做每日自動備份。例如每日凌晨 2 點備份網站資料:
0 2 * * * rsync -avh --delete /var/www/html/ /backup/www/
## 總結
🔗 參考資料:NVD NIST 漏洞資料庫
**rsync** 係一個簡單但強大嘅工具,無論係個人檔案備份定係大型 server 同步都一樣掂。學識佢,你嘅備份工作會輕鬆好多,仲可以慳到大量時間同頻寬。下次要做檔案同步,記得諗起呢個 Linux 神器啦!



