Почему обычно это два шага
Большинство приложений для передачи файлов на Mac считают ваш Mac одним из концов каждой передачи. Чтобы перенести папку со staging-сервера в бакет S3, вы скачиваете её на Mac, находите и загружаете в бакет. Это двойное ожидание, копия на диске, которую потом нужно удалить, и риск ошибиться папкой.
В Терминале можно обойтись без Mac для серверов SSH — с помощью scp между двумя хостами или rsync, запущенного на одном из них. Это работает, если оба конца поддерживают SSH и вы знаете команды. С S3, WebDAV или FTP это не поможет.
Копирование с сервера на сервер по шагам
- Откройте AnyBucket и нажмите ⌘T, чтобы открыть новую вкладку.
- Нажмите ⇧⌘K и подключитесь к первому серверу или нажмите ⌘K и введите несколько букв названия закладки.
- Нажмите ⌘\, чтобы открыть вторую панель, затем выберите другой сервер в меню источника этой панели.
- Нажмите ⇥, чтобы вернуться в исходную панель, и найдите файлы.
- Отметьте их клавишей Space или нажмите + и введите шаблон, например
*.jpg, чтобы отметить все совпадения. - Нажмите 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) вместе с текстом ошибки. См. передача остановилась.