---
title: "如何在 Mac 上於兩台伺服器之間拷貝檔案"
description: "在 Mac 上將檔案從一台伺服器拷貝或移動到另一台，一步完成，不必手動下載再上傳：SFTP 到 S3、儲存貯體到儲存貯體、FTP 到 WebDAV，在 AnyBucket 中按下 F5 即可。"
url: https://anybucket.app/zh-hant/guides/copy-files-between-servers-mac
lang: zh-Hant
---

# 在伺服器之間拷貝檔案，一步完成

從測試環境到正式環境、從 SFTP 伺服器到 S3 儲存貯體、從一家服務供應商的儲存貯體到另一家。以下說明如何在 Mac 上一步完成。

## 簡單來說

在一個窗格中打開第一台伺服器，另一個窗格中打開第二台，用 **Space** 標記檔案，按下 **F5** 拷貝或 **F6** 移動。在 [AnyBucket](https://anybucket.app/zh-hant/features/server-to-server) 中，任意兩台伺服器都能並排顯示。當兩個窗格位於同一台伺服器時，拷貝會直接在伺服器上執行（S3 CopyObject、WebDAV COPY、透過 SSH 的 `cp`）。在兩台不同的伺服器之間，檔案會串流經過你 Mac 上的一小塊暫存區，不會留下需要你處理的暫存檔案。

## 為什麼通常要分兩步
大多數 Mac 檔案傳輸 App 都把你的 Mac 當作每次傳輸的其中一端。要將資料夾從測試伺服器搬到 S3 儲存貯體，你得先下載到 Mac、再找到它，然後上傳到儲存貯體。這代表要等兩次、磁碟上多了一份之後得清理的副本，選錯資料夾時也容易出錯。

在終端機中，SSH 伺服器可以略過 Mac，在兩台主機之間使用 `scp`，或在其中一台上執行 `rsync`。這在兩端都支援 SSH 且你熟悉這些指令時可行，但對 S3、WebDAV 或 FTP 沒有幫助。

## 逐步從一台伺服器拷貝到另一台
1. 打開 AnyBucket，按下 **⌘T** 新增標籤頁。
2. 按下 **⇧⌘K** 連線到第一台伺服器，或按下 **⌘K** 輸入它書籤名稱的幾個字母。
3. 按下 **⌘\\** 打開第二個窗格，然後從窗格的來源選單中選擇另一台伺服器。
4. 按下 **⇥** 回到來源窗格，找到檔案。
5. 用 **Space** 標記檔案，或按下 **+** 並輸入模式，例如 `*.jpg`，標記所有符合的檔案。
6. 按下 **F5** 將它們拷貝到另一個窗格，或按下 **F6** 移動它們。

傳輸會加入窗格下方的佇列，你可以繼續工作。想不先打開目的地就直接選擇嗎？**⌘G** 會將標記的檔案拷貝到你在面板中選擇的任何書籤或資料夾，**⌥⌘G** 則會移動它們。

## 檔案如何傳送
AnyBucket 會為每次傳輸選擇路徑：

| 來源與目的地 | 檔案如何傳送 |
| --- | --- |
| 同一個 S3 帳號或儲存空間 | 在伺服器上以 **CopyObject** 執行 |
| 同一台 WebDAV 伺服器 | 在伺服器上以 **COPY** 和 **MOVE** 執行 |
| 同一台 SFTP 伺服器，帳號有 shell | 在伺服器上透過 SSH 以 `cp` 執行 |
| 兩台不同的伺服器 | 串流經過你 Mac 上一小塊有大小上限的暫存區 |
| 這台 Mac 與伺服器 | 直接上傳或下載 |

移動會先拷貝檔案、驗證副本，再刪除原始檔案。在副本完成之前，不會刪除任何東西。

## 任意混用兩種通訊協定
每一種通訊協定都能與其他任何一種雙向搭配使用：SFTP、FTP、FTPS、Amazon S3 與 S3 相容儲存空間（Cloudflare R2、Backblaze B2、Wasabi、DigitalOcean Spaces、Google Cloud Storage、MinIO）、透過 HTTP 和 HTTPS 的 WebDAV，以及這台 Mac。一些常見的工作：

- **發佈素材**：從 SFTP 網頁伺服器到 S3 或 R2 儲存貯體。
- **更換服務供應商**：從 Amazon S3 到 Cloudflare R2 或 Backblaze B2，一個儲存貯體接一個儲存貯體。
- **淘汰舊主機**：從 FTP 伺服器到 WebDAV 共享或新的 SFTP 伺服器。

在 AnyBucket 的測試中，每一組有方向的通訊協定組合都會對真實伺服器進行端對端的拷貝和移動，並檢查每一個位元組。

## 檔案已經存在時
如果目的地已有同名檔案，AnyBucket 會在覆寫任何東西之前先詢問你。你可以取代它、只在你的檔案較新時取代、兩者都保留（副本會變成 `name 2.ext`）、略過它，或繼續拷貝只完成一部分的檔案，並將答案套用到這次傳輸的其餘項目。詳情請參閱[衝突](https://anybucket.app/zh-hant/features/conflicts)。

## 大型拷貝與連線中斷
伺服器之間的大型工作可能需要一段時間，因此佇列的設計就是要完成它們：

- 連線中斷或伺服器重新啟動時，會在 1、3 和 8 秒後以新的連線重試。
- 佇列會被保存。結束 AnyBucket 後，中斷的傳輸會在下次啟動時回來。
- 只要通訊協定允許，都會驗證檢查碼。
- 關閉最後一個視窗後，AnyBucket 會繼續在選單列中執行，傳輸也會繼續進行。

仍然失敗的項目會連同錯誤訊息，在「傳輸」視窗（**⌥⌘T**）的**需要處理**下等待。請參閱[傳輸停止了](https://anybucket.app/zh-hant/support/troubleshooting#stopped-transfers)。

## 常見問題，一一解答

### 檔案會經過我的 Mac 嗎？

只有在兩側是不同伺服器時才會。這時檔案會串流經過你 Mac 上的一小塊暫存區，由 AnyBucket 管理和清理。當兩個窗格位於同一台伺服器時，拷貝會在伺服器上執行，不會有任何資料下載下來。

### 可以直接從 SFTP 拷貝到 Amazon S3 嗎？

可以。在一個窗格中打開 SFTP 伺服器，另一個窗格中打開儲存貯體，標記檔案後按下 F5。SFTP、FTP、FTPS、S3、S3 相容儲存空間和 WebDAV 之中，任意兩者之間都能這樣操作。

### 在伺服器之間移動安全嗎？

移動會先拷貝、驗證，再刪除原始檔案，因此在副本完成之前不會刪除任何東西。如果發生失敗，傳輸會在**需要處理**下等待，原始檔案也會留在原處。

### 可以改用 scp 或 rsync 嗎？

在兩台 SSH 伺服器之間可以，前提是你熟悉終端機。這些工具無法連線 S3、WebDAV 或 FTP，拷貝時也不會同時顯示兩端。AnyBucket 的 SFTP 使用你自己的 `~/.ssh` 設定，因此相同的主機在兩邊都能使用。

### 可以先試用再購買嗎？

可以。[線上展示](https://anybucket.app/zh-hant/try)會在你的瀏覽器中搭配範例伺服器執行：用 Space 標記檔案，按下 F5 將它從一台伺服器傳到另一台。

## 延伸閱讀

- [伺服器到伺服器](https://anybucket.app/zh-hant/features/server-to-server)
- [將資料夾與伺服器同步](https://anybucket.app/zh-hant/guides/sync-folder-with-server)
- [Mac 版 S3 用戶端](https://anybucket.app/zh-hant/guides/s3-client-mac)
- [在 Mac 上使用 SFTP](https://anybucket.app/zh-hant/guides/sftp-client-mac)

**以 $9.99 購買:** https://buy.polar.sh/polar_cl_pCF9yOjezTUaUqMPyUsxEho1EjcOvo6Bk49Q929LQCQ

---

AnyBucket 是由 [Clever Mechanisms](https://clevermechanisms.dev) 開發的獨立軟體，與 Apple Inc. 或任何儲存服務供應商並無關聯，亦未獲其背書或贊助。 Independent software in the spirit of Cyberduck and the classic two-pane commanders. Not affiliated with iterate GmbH (Cyberduck). Apple、Mac、macOS、Finder 和 Quick Look 是 Apple Inc. 在美國及其他國家和地區註冊的商標。Amazon S3 是 Amazon.com, Inc. 的商標。其他產品名稱為其各自所有者的商標。 電子郵件支援: support@clevermechanisms.dev
