用 rsync 做檔案同步,慳錢又高效

# 用 rsync 做檔案同步,慳錢又高效 今日同大家講一個 Linux 世界入面經常用到、但好多人又唔係好識用嘅工具——rsync。無論你係想幫伺服器做備份、將檔案同步去第二部機、定係做災難復原,rsync 都係一個又快又慳錢嘅選擇。呢篇教學會用粵語口語,step-by-step 教你點用 rsync 做檔案同步。 ## 咩係 rsync? rsync 係一個開源嘅檔案同步工具,佢最大嘅特色係「...

用 rsync 做檔案同步,慳錢又高效 - 文章重點速覽 infographic

# 用 rsync 做檔案同步,慳錢又高效

今日同大家講一個 Linux 世界入面經常用到、但好多人又唔係好識用嘅工具——rsync。無論你係想幫伺服器做備份、將檔案同步去第二部機、定係做災難復原,rsync 都係一個又快又慳錢嘅選擇。呢篇教學會用粵語口語,step-by-step 教你點用 rsync 做檔案同步。

## 咩係 rsync?

rsync 係一個開源嘅檔案同步工具,佢最大嘅特色係「增量傳輸」——即係只會傳送「有改動」嘅部分,而唔係每次都成個檔案重新抄一次。咁樣做可以大幅慳返網絡頻寬同時間,尤其係同步大型檔案或者大量檔案嘅時候特別有用。

rsync 仲支援本地同步同埋遠端同步(經 SSH),所以無論你想同步去 USB 硬碟、NAS,定係另一部伺服器,都一樣搞得掂。

## 點樣安裝 rsync

大部分 Linux distribution 都預設已經有 rsync。你可以用以下指令確認:

rsync --version

如果冇裝到,喺 Ubuntu / Debian 用:

sudo apt update && sudo apt install rsync -y

喺 CentOS / RHEL 用:

sudo yum install rsync -y

## 基本 rsync 指令

最簡單嘅用法就係本地同步兩個資料夾。假設你想將 `/home/user/docs` 同步去 `/backup/docs`:

rsync -av /home/user/docs/ /backup/docs/

呢度嘅 `-a` 代表 archive mode(保留權限、時間戳等),`-v` 代表 verbose(顯示詳細過程)。

⚠️ 要注意:來源路徑結尾加咗 `/` 就代表同步「入面嘅內容」;唔加 `/` 就代表連埋個資料夾本身一齊抄。呢個位好容易搞錯,要小心。

## 遠端同步(經 SSH)

想同步去另一部伺服器?用呢個格式:

rsync -avz -e ssh /home/user/docs/ user@remote-host:/backup/docs/

`-z` 代表傳輸時做壓縮,`-e ssh` 指定用 SSH 做加密傳輸,安全好多。

## 加入刪除同步(鏡像)

如果你想令到目標資料夾同來源「完全一致」(即係來源刪咗嘅檔案,目標都要刪埋),就要加 `–delete`:

rsync -av --delete /home/user/docs/ /backup/docs/

呢個參數要特別小心用,因為佢會真係刪除目標入面多出嚟嘅檔案。建議第一次用之前先做一次 dry-run 測試:

rsync -avn --delete /home/user/docs/ /backup/docs/

`-n` 就係 dry-run,只會模擬顯示會做咩嘢,唔會真係改動。

## 用 cron 做自動備份

搞掂咗基本用法之後,你可以用 cron 將 rsync 設成每日自動執行。先編輯 crontab:

crontab -e

然後加一行,例如每日凌晨兩點做備份:

0 2 * * * rsync -av --delete /home/user/docs/ /backup/docs/ >> /var/log/rsync.log 2>&1

🔗 參考資料:NVD NIST 漏洞資料庫

咁樣你就可以放心,每日都會有自動備份,唔使手動搞。

## 總結

rsync 係一個簡單但好強大嘅工具,掌握咗之後對你做檔案同步同備份都好有幫助。記住幾個重點:`-a` 保留屬性、`–delete` 做鏡像要小心、`-n` 先用嚟測試、結尾 `/` 有冇加會影響結果。大家有時間可以自己開個測試資料夾試吓,熟習咗就唔會咁易出錯。