Linux 伺服器之間傳檔,最標準、安全的工具是 scp (Secure Copy),底層走 SSH 通道,加密傳輸且保留權限/時間戳記。
scp [選項] 來源 目的地
# 遠端路徑格式:user@host:/path
| 場景 | 指令 | 說明 |
|---|---|---|
| 遠端 → 本地(單一檔案) | scp root@192.168.1.10:/www/test.zip /www/ | 下載遠端檔案至本地目錄 |
| 遠端 → 本地(整個目錄) | scp -r root@192.168.1.10:/www/data /www/ | -r 遞迴複製目錄 |
| 本地 → 遠端 | scp /local/file.zip root@192.168.1.10:/www/ | 上傳本地檔案至遠端 |
| 遠端 ↔ 遠端(經本地中轉) | scp -3 user@host1:/file user@host2:/dir | -3 強制經本地轉發(預設直連) |
| 指定 SSH 埠號 | scp -P 2222 file user@host:/dir | 大寫 -P(小寫 -p 為保留屬性) |
| 保留原檔屬性 | scp -p file user@host:/dir | 保留修改時間、存取時間、權限 |
| 限制頻寬 | scp -l 8192 file user@host:/dir | 限制 8 Mbps(單位 Kbit/s),避免佔滿頻寬 |
| 壓縮傳輸 | scp -C file user@host:/dir | 啟用 SSH 壓縮,適合文字/程式碼檔案 |
ssh-copy-id),腳本自動化無需輸入密碼ControlMaster auto 大幅加速批次 scptar czf - /src | ssh user@host "tar xzf - -C /dst" 管線傳輸比逐個 scp 快數倍rsync -avz -e ssh /src/ user@host:/dst/ 支援斷點續傳、增量同步,生產環境首選audit.logscp 簡單直觀,適合臨時、少量檔案跨主機傳輸;大規模、常態化同步請改用 rsync 或分散式檔案系統。