Linux 網站搬家完整教學|SCP / RSYNC 傳輸與備份實戰(2026)

Linux 網站搬家完整教學|SCP / RSYNC 網站打包與伺服器遷移實戰(2026)

Linux 網站搬家(遷移)是伺服器管理中最常見的操作之一,主要分為「檔案搬移」與「資料庫遷移」兩大部分。 在實務上,通常會先進行網站打包備份,再透過 SCP 或 RSYNC 將資料傳輸到新主機,最後進行解壓與還原。

📌 開始網站搬家前的必要條件(SSH 連線確認)

在進行 Linux 網站搬家之前,必須先確認 SSH 連線正常,因為 SCP 與 RSYNC 都是透過 SSH 進行資料傳輸。 如果 SSH 無法連線,將會導致整個搬家流程失敗。

👉 如果你遇到 SSH 無法連線問題,可以先參考這篇完整排錯教學:

Linux SSH 無法連線排錯教學

SCP 網站搬家完整流程|Linux 網站打包、壓縮與解壓實戰

SCP 是 Linux 中最常見的檔案傳輸工具,適合用於小型網站搬家或單次備份。但在實務操作中,不建議直接搬移整個資料夾,而是應該先進行「網站打包」,再進行傳輸,最後在新主機解壓縮還原。

本範例環境如下:舊主機 IP 為 192.168.0.5,網站目錄為 /var/www/html/website_old,包含 images 與 userfiles。新主機 IP 為 192.168.0.10,目標路徑為 /var/www/html/website_new。

網站打包流程(非常重要)

cd /var/www/html/website_old
tar czvf website_backup.tar.gz images userfiles

此步驟會將網站圖片與使用者上傳資料打包成單一檔案 website_backup.tar.gz,這個動作稱為「網站打包」,可以有效減少 SCP 傳輸錯誤。

Linux 安裝 SCP 指令(OpenSSH Client)

大多數 Linux 發行版都已內建 SCP(Secure Copy) 指令, 如果輸入 scp 出現找不到指令,可依照以下方式安裝。

CentOS / Rocky Linux / AlmaLinux

sudo yum install openssh-clients -y

Ubuntu / Debian

sudo apt update
sudo apt install openssh-client -y

Arch Linux

sudo pacman -S openssh

確認 SCP 是否安裝成功

scp -V

若系統成功顯示 OpenSSH 版本資訊,即代表 SCP 已可正常使用。

案例一:SCP 傳輸到新主機暫存區

scp website_backup.tar.gz root@192.168.0.10:/tmp/

這裡會先將檔案傳到 /tmp 暫存區,避免直接影響網站目錄結構,是標準 Linux 網站搬家流程。

案例二:登入新主機並解壓

ssh root@192.168.0.10
cd /var/www/html/website_new/
tar xzvf /tmp/website_backup.tar.gz

解壓後會自動還原 images 與 userfiles,完成網站資料還原。

案例三:清除暫存檔

rm -f /tmp/website_backup.tar.gz

避免佔用磁碟空間,這是正式環境必做步驟。

🆚 SCP vs RSYNC 指令詳細區別(網站搬家必看)

在 Linux 網站搬家實務中,SCP 與 RSYNC 是最常見的兩種工具,但用途完全不同。 以下表格可以幫助你快速判斷應該使用哪一種方式。

項目 SCP(Secure Copy) RSYNC(Remote Sync)
核心功能 單向檔案複製 雙端同步 + 備份
使用概念 一次性「搬檔案」 持續「同步資料」
適合情境 小型網站搬家 / 單次備份 正式網站搬家 / 大型資料同步
是否支援續傳 ❌ 不支援 ✔ 支援(斷線可續傳)
是否只傳變更 ❌ 不支援 ✔ 只同步變更部分
傳輸效率 一般(每次全傳) ⭐ 高(增量傳輸)
指令複雜度 簡單 中等
大型網站適用 ❌ 不建議 ✔ 非常適合
備份用途 一次性備份 長期備份 / 排程備份
網站搬家推薦度 ⭐⭐ ⭐⭐⭐⭐⭐

結論:
SCP 適合簡單搬檔案,而 RSYNC 才是專業網站搬家與長期備份工具。

RSYNC 網站搬家與同步備份實戰

RSYNC 是比 SCP 更進階的工具,適合大型網站搬家與長期備份。它的最大優勢是「只同步變更檔案」,因此非常適合正式環境使用。

RSYNC 安裝指令

yum install -y rsync

案例一:同步 images

rsync -avzP /var/www/html/website_old/images/ root@192.168.0.10:/var/www/html/website_new/images/

案例二:同步 userfiles

rsync -avzP /var/www/html/website_old/userfiles/ root@192.168.0.10:/var/www/html/website_new/userfiles/

案例三:同步整站

rsync -avzP /var/www/html/website_old/ root@192.168.0.10:/var/www/html/website_new/

RSYNC 非常適合網站搬家後的持續同步,例如更新圖片或資料時,只會傳輸變更部分,大幅降低頻寬與時間成本。


# RSYNC 特性
- 增量同步
- 支援續傳
- 適合大型網站
- 可用於備份系統

📌 網站搬家後的重要步驟:權限與使用者設定

在 Linux 網站搬家完成後,最常見的問題就是檔案權限錯誤,例如網站無法顯示、403 Forbidden 或資料夾無法存取。 這通常是因為 user/group 權限未正確設定所導致。

👉 如果你遇到權限問題,可以參考這篇完整教學:

Linux 使用者與權限管理完整教學

網站搬家完成後,如果遇到網站錯誤、頁面 500 或 nginx / apache 報錯,可以透過 log 進行分析。 這時候 Linux grep 指令可以快速搜尋錯誤關鍵字,幫助你定位問題來源。

👉 建議使用 grep 來進行錯誤日誌分析:

Linux grep 指令教學(日誌與錯誤排查)

FAQ 常見問題

Linux 網站搬家一定要用 scp 嗎?

SCP 並不是唯一選擇,雖然適合小型網站搬移,但正式環境建議使用 rsync,因為它支援續傳與增量同步,可以減少傳輸失敗風險並提升效率。

網站搬家為什麼要先做網站打包?

網站打包可以將多個資料夾整合成單一檔案,方便傳輸與備份,也能降低 SCP 傳輸錯誤,是 Linux 網站搬家標準流程之一。

rsync 和 scp 最大差別是什麼?

SCP 是單向複製工具,而 RSYNC 是同步工具,rsync 只會傳輸變更檔案,因此更適合網站搬家與長期備份作業。

Linux 網站搬家會影響網站運作嗎?

如果在高流量時操作可能會有短暫影響,建議在離峰時間進行搬家,並先完成備份與測試,確保資料完整性。

資料庫遷移需要一起做嗎?

需要,網站搬家除了檔案外,還必須同步 MySQL 或 MariaDB 資料庫,否則網站會出現資料缺失或無法登入的情況。

rsync 可以用來做備份嗎?

可以,rsync 非常適合做定期備份,因為它只會同步變更過的資料,可以大幅節省時間與頻寬,是企業常用方案。

    PAGE TOP