Почему обычно это два шага

Большинство приложений для передачи файлов на Mac считают ваш Mac одним из концов каждой передачи. Чтобы перенести папку со staging-сервера в бакет S3, вы скачиваете её на Mac, находите и загружаете в бакет. Это двойное ожидание, копия на диске, которую потом нужно удалить, и риск ошибиться папкой.

В Терминале можно обойтись без Mac для серверов SSH — с помощью 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, у аккаунта есть оболочка На сервере, через cp по SSH
Два разных сервера Потоком через небольшой буфер ограниченного размера на вашем Mac
Этот Mac и сервер Прямая загрузка или скачивание

Перемещение копирует файлы, проверяет копию и только затем удаляет оригиналы. Ничего не удаляется, пока копия не на месте.

Любые два протокола

Каждый протокол работает с любым другим в обе стороны: SFTP, FTP, FTPS, Amazon S3 и S3-совместимые хранилища (Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, Google Cloud Storage, MinIO), WebDAV по HTTP и HTTPS, а также этот Mac. Несколько типичных задач:

  • Публикация ресурсов: с веб-сервера SFTP в бакет S3 или R2.
  • Смена провайдера: из Amazon S3 в Cloudflare R2 или Backblaze B2, бакет за бакетом.
  • Вывод старого хостинга: с сервера FTP на ресурс WebDAV или новый сервер SFTP.

В тестах AnyBucket каждую упорядоченную пару протоколов проверяют копированием и перемещением на реальных серверах, сверяя каждый байт.

Если файл уже существует

Если в месте назначения уже есть файл с таким именем, AnyBucket спросит, прежде чем что-то перезаписать. Можно заменить его, заменить, только если ваш новее, оставить оба (копия получит имя name 2.ext), пропустить или докачать частично скопированный файл — и применить ответ к остальной части передачи. Подробнее в разделе конфликты.

Большие копии и обрывы соединения

Большие задачи между серверами могут занять время, поэтому очередь создана, чтобы доводить их до конца:

  • При обрыве соединения или перезапуске сервера передача повторяется через новое соединение через 1, 3 и 8 секунд.
  • Очередь сохраняется. Завершите AnyBucket — и прерванные передачи вернутся при следующем запуске.
  • Контрольные суммы проверяются везде, где это позволяет протокол.
  • Если закрыть последнее окно, AnyBucket продолжит работать в строке меню, и передачи не прервутся.

То, что всё же не удалось, ждёт в разделе Требуют внимания окна «Передачи» (⌥⌘T) вместе с текстом ошибки. См. передача остановилась.