Чому зазвичай це два кроки
Більшість програм для передавання файлів на Mac вважають ваш Mac одним із кінців кожного передавання. Щоб перенести теку з тестового сервера в бакет S3, ви завантажуєте її на Mac, знову її знаходите й вивантажуєте в бакет. Це вдвічі довше очікування, копія на диску, яку потім треба прибрати, і простір для помилок, коли вибрано не ту теку.
У Терміналі для SSH-серверів можна оминути Mac: 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). Див. передавання зупинилося.