Бесплатная миграция IT-инфраструктуры в облако
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

Cyberduck

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

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

Windows

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

  1. Скачайте Cyberduck с официального сайта и установите его.
  2. Скачайте файл профиля Timeweb Cloud во вкладке «Дашборд».

Selection 070

  1. Разместите профиль в директории profiles (обычно располагается по пути: C:\Program Files\Cyberduck\profiles). 
  2. Запустите Cyberduck и кликните на «Новое подключение».
  3. Выберите профиль Timeweb Cloud Storage.
  4. Введите реквизиты подключения.

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

Image4

Используйте параметры:

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

Реквизиты можно найти на вкладке «Дашборд»:

Image1

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

  1. Скачайте Cyberduck с официального сайта и установите его.
  2. В настройках бакета скачайте файл профиля Timeweb Cloud.

Image2

  1. Разместите профиль в директории profiles (обычно располагается по пути: C:\Program Files\Cyberduck\profiles). 
  2. Запустите Cyberduck и кликните на «Новое подключение».
  3. Выберите профиль Timeweb Cloud Storage.
  4. Введите реквизиты подключения.

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

Image5

Используйте параметры:

  • AccountID:AccountID — укажите логин вашего аккаунта через двоеточие, то есть в формате login:login.
  • Пароль — укажите Secret Access Key, который можно скопировать на вкладке «Cyberduck».

Image3

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

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

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

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

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

choco install duck

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

Для перехода в директорию выполните в командной строке:

cd %AppData%\Cyberduck\Profiles

Или, если вы используете PowerShell:

cd $env:AppData\Cyberduck\Profiles

Если директории Profiles не существует, создайте ее:

mkdir %AppData%\Cyberduck\Profiles

Ubuntu

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

  1. Добавьте репозиторий duck:

echo -e "deb https://s3.amazonaws.com/repo.deb.cyberduck.io stable main" | sudo tee /etc/apt/sources.list.d/cyberduck.list > /dev/null
  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:

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

wget -O ~/.duck/profiles/timeweb-cloud.cyberduckprofile https://st.timeweb.com/cloud-static/timeweb-cloud.cyberduckprofile

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

wget -O ~/.duck/profiles/timeweb-cloud.cyberduckprofile https://timeweb.cloud/s3/timeweb-cloud.cyberduckprofile

MacOS

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

  1. Установите Cyberduck: скачайте его бесплатно с официального сайта проекта или загрузите через App Store (в этом случае утилиту потребуется купить). 
  2. Скачайте файл профиля Timeweb Cloud во вкладке «Дашборд».

Image5

  1. Разместите профиль в директории Profiles по пути:
 ~/Library/Group Containers/G69SCX94XU.duck/Library/Application Support/duck/Profiles
  1. Запустите Cyberduck и выберите профиль Timeweb Cloud Storage.

Image1

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

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

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

Реквизиты можно найти на вкладке «Дашборд».

Image2

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

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

Image4

  1. Разместите профиль в директории Profiles по пути:
~/Library/Group Containers/G69SCX94XU.duck/Library/Application Support/duck/Profiles
  1. Запустите Cyberduck и выберите профиль Timeweb Cloud Storage.

Image1

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

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

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

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

Image6

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

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

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

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

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

brew install duck

Создайте директорию с профилями:

mkdir -p ~/.duck/profiles

Скачайте профиль Timeweb Cloud:

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

wget -O ~/.duck/profiles/timeweb-cloud.cyberduckprofile https://st.timeweb.com/cloud-static/timeweb-cloud.cyberduckprofile

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

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.cloud

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

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

Где:

  • <опция> — дополнительная опция, например, --verbose или --retry.
  • <аргумент> — аргумент утилиты duck. Полный список аргументов и опций можно получить, выполнив duck --help.
  • <имя бакета> — имя бакета, созданного в панели управления.
  • <логин> — логин вашего аккаунта. В параметре username указывается логин аккаунта и swift через двоеточие, например cu27355:swift.
  • <пароль> — Swift 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:/<имя бакета>/<путь к файлу> 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

 

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

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

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

Где:

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

Например:

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 --copy timeweb-cloud:/<имя бакета>/<путь к файлу> 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

 

Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев