Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Cyberduck

Cyberduck — это файловый менеджер, который поддерживает протоколы FTP, SFTP, OpenStack Swift и AmazonS3 и позволяет удобно работать, в том числе, с облачными хранилищами. В нашем профиле Cyberduck используется протокол OpenStack Swift.

Установка Cyberduck и подключение к S3

Windows

1. Скачайте Cyberduck с официального сайта и установите его.

2. В настройках бакета скачайте файл профиля Timeweb Cloud.

9ff73aff 1728 48be 9a57 3058245ff909

3. Разместите профиль в директории profiles (обычно располагается по пути: C:\Program Files\Cyberduck\profiles). 

4. Запустите Cyberduck и кликните на «Новое подключение».

5. Выберите профиль Timeweb Cloud Storage.

6. Введите реквизиты подключения.

Кластер s3.timeweb.com

Для кластера s3.timeweb.com в поле «Сервер» будет указано s3.timeweb.com.

8a742822 Aaa5 4c8a Addd 73c6ae44b20f

В этом случае используйте параметры:

  • AccountID:AccountID — укажите логин вашего аккаунта через двоеточие, то есть в формате login:login.
  • Пароль — укажите пароль администратора хранилища. 

Все реквизиты можно найти в панели на вкладке «Cyberduck».

1e880df7 0ac2 4f38 A9e0 C5b485822001

Кластер s3.timeweb.cloud

Для кластера s3.timeweb.cloud в поле «Сервер» будет указано swift.timeweb.cloud.

Ce66eb0c 0576 4eea 8d7c 8f4c279b48e0

В этом случае используйте параметры:

  • AccountID:swift— укажите логин вашего аккаунта и swift через двоеточие, то есть в формате login:swift.
  • Пароль — укажите пароль администратора хранилища. 

Реквизиты можно найти на вкладке «Cyberduck»:

B5a99c79 Fabf 49dd 891a 154db7c68fad

7. Нажмите «Подключить».

Как только подключение будет установлено, вы увидите список созданных бакетов.

Консольная версия

Также в Windows можно использовать консольную версию Cyberduck. Установить ее можно с помощью менеджера пакетов Chocolatey.

Выполните команду ниже и загрузите последнюю версию установщика.

choco install duck

Скачайте файл профиля Timeweb Cloud в настройках бакета в панели управления и разместите его в директории: C:\Program Files\Cyberduck\profiles.

MacOS

1. Установите Cyberduck: скачайте его бесплатно с официального сайта проекта или загрузите через App Store (в этом случае утилиту потребуется купить). 

2. В настройках бакета скачайте файл профиля Timeweb Cloud.

9ff73aff 1728 48be 9a57 3058245ff909

3. Разместите профиль в директории Profiles по пути:

~/Library/Group Containers/G69SCX94XU.duck/Library/Application Support/duck/Profiles

4. Запустите Cyberduck и выберите профиль Timeweb Cloud Storage.

Mac

5. Введите реквизиты подключения.

Кластер s3.timeweb.com

В поле «Сервер» будет указано s3.timeweb.com. В этом случае используйте реквизиты:

  • AccountID:AccountID — логин вашего аккаунта через двоеточие, то есть в формате login:login.
  • Password — пароль администратора хранилища. 

Корректные реквизиты можно найти в панели на вкладке «Cyberduck».

Group 1321314137

Кластер s3.timeweb.cloud

В поле «Сервер» будет указано swift.timeweb.cloud. В этом случае используйте параметры:

  • AccountID:swift— укажите логин вашего аккаунта и swift через двоеточие, то есть в формате login:swift.
  • Пароль — укажите пароль администратора хранилища. 

Реквизиты можно найти на вкладке «Cyberduck».

B5a99c79 Fabf 49dd 891a 154db7c68fad

6. Нажмите «Подключить».

Как только подключение будет установлено, вы увидите список созданных бакетов.

Консольная версия

Также можно использовать консольную версию Cyberduck. Установить ее можно с помощью менеджера пакетов Homebrew.

Выполните команду ниже и загрузите последнюю версию установщика.

brew install duck

Скачайте файл профиля Timeweb Cloud и добавьте его в Cyberduck.

Linux

Для Linux доступна консольная версия Cyberduck.

  1. Добавьте репозиторий duck:
sudo echo 'deb https://s3.amazonaws.com/repo.deb.cyberduck.io nightly main' >> /etc/apt/sources.list.d/cyberduck.list
sudo echo 'deb https://s3.amazonaws.com/repo.deb.cyberduck.io stable main' >> /etc/apt/sources.list.d/cyberduck.list
  1. Скачайте публичный GPG-ключ с keyserver.ubuntu.com:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FE7097963FEFBE72
  1. Обновите репозиторий:
sudo apt-get update
  1. Установите Cyberduck CLI:
sudo apt-get install duck
  1. Создайте директорию с профилями:
mkdir -p ~/.duck/profiles
  1. Скачайте профиль Timeweb Cloud:
wget -O ~/.duck/profiles/timeweb-cloud.cyberduckprofile https://timeweb.cloud/s3/timeweb-cloud.cyberduckprofile

Отображение скрытых файлов

По умолчанию в интерфейсе Cyberduck не отображаются скрытые файлы. 

Чтобы изменить эту настройку, кликните «Вид» → «Показать скрытые файлы» или используйте сочетание клавиш Ctrl+Shift+R (Shift+Cmd+R в MacOS).

Cd1

Скрытые файлы станут доступны для работы:

Cd2

Консольные команды для работы с хранилищем

Кластер s3.timeweb.com

Команды имеют формат:

duck <опция> <аргумент> timeweb-cloud:/<имя бакета> --username <логин>:<логин> --password <пароль>

Где:

  • <опция> — дополнительная опция, например, --verbose или --retry.
  • <аргумент> — аргумент утилиты duck. Полный список аргументов и опций можно получить, выполнив duck --help.
  • <имя бакета> — имя бакета, созданного в панели управления.
  • <логин> — логин вашего аккаунта.
  • <пароль> — пароль администратора хранилища. Его можно скопировать в панели на вкладке «Cyberduck» или «Настройки» (Secret Access Key).

Например:

duck --list timeweb-cloud:/1d65c254-17ab-4b22-b262-1111fc006937 --username ck42638:ck42638--password s6dhm6vasfh8v35f234ffs

Получение списка файлов

Чтобы получить список файлов в бакете, используйте или аргумент --list или -l:

duck --list timeweb-cloud:/<имя бакета> --username <логин>:<логин> --password <пароль>

Скачивание файлов

Чтобы скачать файл на локальное устройство, используйте аргумент -d:

duck -d timeweb-cloud:/<имя бакета> --username <логин>:<логин> --password <пароль>

Редактирование файлов

С помощью аргумента --edit можно открыть файл для редактирования, внести в него изменения и сохранить, после чего в бакет будет загружена измененная версия файла. 

duck --edit timeweb-cloud:/<имя бакета> --username <логин>:<логин> --password <пароль>

Загрузка файла в бакет

Чтобы загрузить файл в хранилище, используйте --upload:

duck --upload timeweb-cloud:/<имя бакета> <имя локального файла> --username <логин>:<логин> --password <пароль>

Копирование файлов

Чтобы скопировать файл из одного бакета в другой, используйте --copy и укажите сначала текущее расположение файла, а затем — его желаемое расположение в новом бакете:

duck --сopy timeweb-cloud:/<имя бакета>/<путь к файлу> <имя бакета>:/<имя бакета>/<путь к файлу> --username <логин>:<логин> --password <пароль>

Резервное копирование файлов

Чтобы регулярно отправлять в хранилище копии файлов из определенной директории, вы можете создать задачу Cron и использовать скрипт со следующим содержимым:

#!/bin/bash
USERNAME=<логин аккаунта>
PASSWORD=<пароль администратора хранилища>
BACKUP_PATH=<имя бакета>/<путь к директории>
LOCAL_PATH=<путь к локальной директории>

duck --upload "timeweb-cloud:/${BACKUP_PATH}" "${LOCAL_PATH}" --existing rename --username "${USERNAME}:${USERNAME}" --password "${PASSWORD}" -q -y

Аргумент  --existing указывает, что нужно делать с существующими файлами.

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

Доступны и другие опции: например, overwrite перезапишет имеющуюся версию файла новой; skip загрузит только новые файлы, появившиеся после последней загрузки, и пропустит повторяющиеся файлы, даже если они были изменены. 

С помощью --existing compare можно выполнять дифференциальное резервное копирование. В этом случае система сравнит загружаемый файл с имеющимся, и если параметры (размер, дата изменения, контрольная сумма) отличаются, то старая версия будет заменена новой.

duck --upload timeweb-cloud:/<имя бакета>/<путь к директории> <путь к локальной директории> --existing compare --username <логин>:<логин> --password <пароль>

Информацию обо всех доступных опциях можно просмотреть с помощью duck --help.

Синхронизация файлов

С помощью --synchronize вы можете синхронизировать содержимое локальной директории с директорией, размещенной в хранилище. Если файлы в локальной директории были изменены, добавлены или удалены, эти же самые файлы будут изменены, добавлены или удалены в хранилище, и наоборот. В результате синхронизации обе директории будут содержать одинаковый набор файлов в одной и той же версии. 

duck --synchronize timeweb-cloud:/<имя бакета>/<путь к директории> <путь к локальной директории> --username <логин>:<логин> --password <пароль>

Чтобы автоматически выполнять синхронизацию и поддерживать копии файлов в хранилище в актуальном состоянии, вы можете создать задачу Cron и использовать скрипт со следующим содержимым:

#!/bin/bash
USERNAME=<логин аккаунта>
PASSWORD=<пароль администратора хранилища>
BACKUP_PATH=<имя бакета>/<путь к директории>
LOCAL_PATH=<путь к локальной директории>
duck --synchronize "timeweb-cloud:/${BACKUP_PATH}" "${LOCAL_PATH}" --username "${USERNAME}:${USERNAME}" --password "${PASSWORD}" -q -y

Кластер s3.timeweb.cloud

Команды имеют формат:

duck <опция> <аргумент> timeweb-cloud:/<имя бакета> --username <логин>:swift --password <пароль>

Где:

  • <опция> — дополнительная опция, например, --verbose или --retry.
  • <аргумент> — аргумент утилиты duck. Полный список аргументов и опций можно получить, выполнив duck --help.
  • <имя бакета> — имя бакета, созданного в панели управления.
  • <логин> — логин вашего аккаунта. В параметре username указывается логин аккаунта и swift через двоеточие, например cu27355:swift.
  • <пароль> — пароль администратора хранилища. Его можно скопировать в панели на вкладке «Cyberduck» или «Настройки» (Secret Access Key).

Например:

duck --list timeweb-cloud:/1d65c254-17ab-4b22-b262-1111fc006937 --username ck42638:swift--password s6dhm6vasfh8v35f234ffs

Получение списка файлов

Чтобы получить список файлов в бакете, используйте или аргумент --list или -l:

duck --list timeweb-cloud:/<имя бакета> --username <логин>:swift --password <пароль>

Скачивание файлов

Чтобы скачать файл на локальное устройство, используйте аргумент -d:

duck -d timeweb-cloud:/<имя бакета> --username <логин>:swift --password <пароль>

Редактирование файлов

С помощью аргумента --edit можно открыть файл для редактирования, внести в него изменения и сохранить, после чего в бакет будет загружена измененная версия файла. 

duck --edit timeweb-cloud:/<имя бакета> --username <логин>:swift --password <пароль>

Загрузка файла в бакет

Чтобы загрузить файл в хранилище, используйте --upload:

duck --upload timeweb-cloud:/<имя бакета> <имя локального файла> --username <логин>:swift --password <пароль>

Копирование файлов

Чтобы скопировать файл из одного бакета в другой, используйте --copy и укажите сначала текущее расположение файла, а затем — его желаемое расположение в новом бакете:

duck --copy timeweb-cloud:/<имя бакета>/<путь к файлу> <имя бакета>:/<имя бакета>/<путь к файлу> --username <логин>:swift --password <пароль>

Резервное копирование файлов

Чтобы регулярно отправлять в хранилище копии файлов из определенной директории, вы можете создать задачу Cron и использовать скрипт со следующим содержимым:

#!/bin/bash
USERNAME=<логин аккаунта>
PASSWORD=<пароль администратора хранилища>
BACKUP_PATH=<имя бакета>/<путь к директории>
LOCAL_PATH=<путь к локальной директории>

duck --upload "timeweb-cloud:/${BACKUP_PATH}" "${LOCAL_PATH}" --existing rename --username "${USERNAME}:swift" --password "${PASSWORD}" -q -y

Аргумент  --existing указывает, что нужно делать с существующими файлами.

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

Доступны и другие опции: например, overwrite перезапишет имеющуюся версию файла новой; skip загрузит только новые файлы, появившиеся после последней загрузки, и пропустит повторяющиеся файлы, даже если они были изменены. 

С помощью --existing compare можно выполнять дифференциальное резервное копирование. В этом случае система сравнит загружаемый файл с имеющимся, и если параметры (размер, дата изменения, контрольная сумма) отличаются, то старая версия будет заменена новой.

duck --upload timeweb-cloud:/<имя бакета>/<путь к директории> <путь к локальной директории> --existing compare --username <логин>:swift --password <пароль>

Информацию обо всех доступных опциях можно просмотреть с помощью duck --help.

Синхронизация файлов

С помощью --synchronize вы можете синхронизировать содержимое локальной директории с директорией, размещенной в хранилище. Если файлы в локальной директории были изменены, добавлены или удалены, эти же самые файлы будут изменены, добавлены или удалены в хранилище, и наоборот. В результате синхронизации обе директории будут содержать одинаковый набор файлов в одной и той же версии. 

duck --synchronize timeweb-cloud:/<имя бакета>/<путь к директории> <путь к локальной директории> --username <логин>:swift --password <пароль>

Чтобы автоматически выполнять синхронизацию и поддерживать копии файлов в хранилище в актуальном состоянии, вы можете создать задачу Cron и использовать скрипт со следующим содержимым:

#!/bin/bash
USERNAME=<логин аккаунта>
PASSWORD=<пароль администратора хранилища>
BACKUP_PATH=<имя бакета>/<путь к директории>
LOCAL_PATH=<путь к локальной директории>
duck --synchronize "timeweb-cloud:/${BACKUP_PATH}" "${LOCAL_PATH}" --username "${USERNAME}:swift" --password "${PASSWORD}" -q -y

 

Была ли статья полезна?

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону