用 rsync 做增量備份 一步步教你保護 Linux 伺服器資料

# 用 rsync 做增量備份:一步步教你保護 Linux 伺服器資料 做 IT 嘅朋友,有冇試過部機死咗先發現冇備份?又或者備份要成個 folder 重新抄一次,等到天荒地老?今日就同大家講一個 Linux 上面嘅神器 —— **rsync**,佢可以幫你做到「只同步改過嘅檔案」,又快又慳位,仲可以跨機做遠端備份。我哋一步步嚟,跟住做就得。 ## rsync 係咩嚟? **rsync**(rem...

用 rsync 做增量備份 一步步教你保護 Linux 伺服器資料 - 文章重點速覽 infographic

# 用 rsync 做增量備份:一步步教你保護 Linux 伺服器資料

做 IT 嘅朋友,有冇試過部機死咗先發現冇備份?又或者備份要成個 folder 重新抄一次,等到天荒地老?今日就同大家講一個 Linux 上面嘅神器 —— **rsync**,佢可以幫你做到「只同步改過嘅檔案」,又快又慳位,仲可以跨機做遠端備份。我哋一步步嚟,跟住做就得。

## rsync 係咩嚟?

**rsync**(remote sync)係一個喺 Linux / macOS 上面好常用嘅檔案同步工具。佢最勁嘅地方係用咗「差異同步」演算法:第一次會完整抄曬所有檔案,之後每次只會傳送「有改動嘅部分」,所以備份速度可以快幾十倍。

而且 rsync 支援 SSH 加密傳輸,即係你可以安全咁將伺服器 A 嘅資料備份去伺服器 B,唔怕俾人偷睇。

## 基本語法

先睇下 rsync 最簡單嘅用法:

rsync -av 來源/ 目的地/

入面 `-a` 代表 archive mode(保留權限、時間戳、軟連結等),`-v` 代表 verbose(顯示詳細過程)。注意來源後面要加 `/`,代表同步「資料夾入面嘅內容」。

## 實戰:本機備份一個網站資料夾

假設你有一個 WordPress 網站放喺 `/var/www/mysite`,你想備份去外置硬碟 `/mnt/backup/mysite`:

sudo rsync -av --delete /var/www/mysite/ /mnt/backup/mysite/

`–delete` 係一個好重要嘅參數:佢會令目的地「刪除來源已經冇咗嘅檔案」,確保兩邊完全一致。不過第一次用要小心,確認冇問題先加。

## 跨機備份:經 SSH 同步去遠端伺服器

呢個先係 rsync 最常用嘅場景。將本地資料夾同步去遠端機:

rsync -avz -e ssh /var/www/mysite/ user@192.168.1.100:/backup/mysite/

– `-z`:傳輸時壓縮,慳 bandwidth
– `-e ssh`:指定用 SSH 做傳輸通道
– `user@192.168.1.100:/backup/mysite/`:遠端目的地

如果想免密碼自動備份,就要先設定 SSH key 免密登入(用 `ssh-copy-id`)。

## 進階:排除唔需要嘅檔案

備份網站嗰陣,你可能唔想連快取、暫存檔都抄埋。用 `–exclude`:

rsync -av --exclude 'cache/' --exclude '*.tmp' /var/www/mysite/ /mnt/backup/mysite/

咁就唔會同步 `cache` 資料夾同所有 `.tmp` 檔案。

## 用 crontab 定時自動備份

最後一步,將備份變成全自動。用 `crontab -e` 加入一行,每日凌晨 2 點自動備份:

0 2 * * * rsync -av --delete /var/www/mysite/ /mnt/backup/mysite/ >> /var/log/backup.log 2>&1

咁每日瞓醒就有最新備份,仲有 log 可以睇返有冇出錯。

## 總結

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

**rsync** 係 IT 人必學嘅工具,差異同步 + SSH 加密 + 定時排程,三樣嘢夾埋就係一個穩陣嘅備份方案。今日呢個基礎用法夠你處理大部分日常備份需求,下次再同大家講進階玩法(例如硬連結快照、rsync daemon 模式)。即刻去你部 Linux 機試下啦!