Настройка rclone для windows

Обновлено: 04.07.2024

В данной инструкции рассмотрим разные примеры настройки утилиты rclone для хранения архивов в облаке. По мере возможности, данные примеры будут пополняться.

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

Переходим в режим конфигурирования rclone:

Создаем новую конфигурацию:

Даем понятное название для нашего соединения:

Среди списка возможных шаблонов выбираем FTP Connection:

13 / FTP Connection
\ "ftp"

* на момент обновления инструкции данный шаблон находится под номером 13.

Указываем адрес сервера FTP:

Имя учетной записи для подключения к серверу FTP:

Порт (как правило, это 21):

На запрос использования пароля, отвечаем y (ввести свой пароль):

FTP password
y) Yes type in my own password
g) Generate random password
y/g> y

И дважды вводим пароль для подключения к FTP-серверу:

Enter the password:
password:
Confirm the password:
password:

Если удаленный сервер для подключения требует TLS, в соответствующей опции задаем значение true:

* в противном случае оставляем поле незаполненным или ставим false.

На остальные опции отвечаем по умолчанию, нажимая Enter.

Подтверждаем, что ранее введенные данные верны:

y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Готово. Мы можем посмотреть содержимое каталога на сервере FTP:

rclone ls "BackupFTP":

* обратите внимание, что так как название в данном примере задано с пробелами, мы пишем его в кавычках.

Готово. Действия, которые можно выполнить описаны ниже.

Пример дополнительный параметров:

При конфигурировании FTP система запрашивает, хотим ли мы сконфигурировать дополнительные параметры. Если нажать да:

Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> y

. та нам будут заданы дополнительные вопросы. Среди который, наиболее интересен про проверку валидации сертификата:

Очень часто, при настройке TLS на FTP-сервере используют самоподписанный сертификат. Данная опция позволит rclone не завершать работу с ошибкой при проверке валидности сертификата.

Яндекс диск

Для работы с яндекс диском необходима авторизация через браузер (OAuth). Для того, чтобы запустить утилиту на сервере без графики, мы должны сначала установить rclone на компьютер с GUI (это может быть Windows или Linux Desktop).

И так, на компьютере с браузером запускаем конфигурацию утилиты:

* если запускаем в Windows, то сначала переходим в каталог, куда скопировали утилиту.

Создаем новую конфигурацию:

Даем понятное название для нашего соединения:

Среди списка возможных шаблонов выбираем Yandex Disk:

39 / Yandex Disk
\ "yandex"

* на момент обновления инструкции данный шаблон находится под номером 39.

Идентификатор клиента и пароль оставляем пустыми:

На запрос внесениея расширенных настроек отвечаем отрицательно:

Edit advanced config?
y) Yes
n) No (default)
y/n> n

На вопрос использования автоконфигурации отвечаем y>:

Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine

y) Yes (default)
n) No
y/n> y

Откроется окно браузера — вводим наши логин и пароль для доступа к Яндекс диску. В следующем окне кликаем по Log in as . :

Подтверждаем использование нашей учетной записи для доступа к Яндекс диску

Success!

Закрываем браузер. Выходим из конфигурирования rclone:

Смотрим содержимое конфигурационного файла. Наши действия немного будут различаться в зависимости от системы, в которой мы работаем.

а) в системах на базе Linux:

б) для систем Windows:

Мы увидим что-то на подобие:

[YandexDisk]
type = yandex
token =

* конфигураций может быть несколько — нас интересует yandex с тем именем, которое мы задавали в настройке.

Копируем содержимое и переходим на целевой сервер.

Открываем конфигурационный файл для rclone:

* если в нашей системе уже есть конфигурационный файл и его путь отличается от нашего, то можено ввести команду:

. которая покажет путь до него.

Ввносим содержимое, которое скопировали, например:

[YandexDisk]
type = yandex
token =

Готово, можно проверить командой:

rclone lsd YandexDisk:

Полезные команды для работы с Rclone

Просмотр списка контейнеров в хранилище:

rclone lsd [remote]:

Создание нового контейнера:

rclone mkdir [remote]:[имя контейнера]

Просмотр списка файлов в контейнере:

rclone ls [remote]:[имя контейнера]

Копирование файлов с локальной машины в хранилище:

rclone copy /home/local/directory [remote]:[имя контейнера]

Синхронизация файлов на локальной машине и в хранилище:

rclone sync /home/local/directory [remote]:[имя контейнера]

Синхронизация файлов в хранилище с файлами на локальной машине:

rclone sync [remote]:[имя контейнера] /home/local/directory

При выполнении операций копирования и синхронизации rclone проверяет все файлы по дате и времени изменения или md5-сумме. Из директории-источника в директорию назначения передаются те файлы, которые были изменены.

Возможные проблемы

Пока, я столкнулся с единственной проблемой.

Rclone копирует по-кругу один файл

В моем случае, программа копировала все данные на удаленное хранилище и после этого, вместо того, чтобы завершить работу, начинала копировать файл(ы) по новой.

Причина: как выяснилось, проблема в версии приложения.

Решение: в моем случае, помогла установка более ранней версии приложения. Список можно увидеть на официальном сайте.

PR-2358

В предыдущих публикациях мы уже не раз рассказывали о полезных утилитах для работы с нашим облачным хранилищем. Сегодня мы поговорим ещё об одном интересном, простом в обращении и — не побоимся этого слова — уникальном инструменте. Знакомьтесь: rclone. Разработчики описывают его краткой и ёмкой фразой «rsync для облачных хранилищ».

Основная функция rclone — это синхронизация данных в хранилище и на локальной машине. Утилита несомненна окажется полезной для широкого круга пользователей облачного хранилища. Её можно использовать и для резервного копирования, и в работе со статическими сайтами…

Есть у rclone и опции, которых нет ни у одного другого инструмента аналогичного плана. Подробнее обо всём этом мы расскажем ниже.

Установка и первичная настройка

Несомненным плюсом и несомненным преимуществом rclone перед другими продуктами аналогичного плана является поддержка множества операционных систем: Linux, Windows, MacOS, Solaris, FreeBSD, OpenBSD, NetBSD и Plan 9.
Ссылки для скачивания пакетов для всех названных ОС можно найти на странице загрузки.

Мы будем описывать особенности работы c rclone на материале ОС Linux. Для установки нам потребуется скачать необходимый пакет, а далее выполнить:

На консоли появится такой диалог:


Выбираем n и нажимаем Enter. Далее нам нужно будет указать имя подключения к удалённому хранилищу:


Указываем любое имя (например, Selectel) и переходим к следующему пункту:

Выбираем цифру 10 (swift) и нажимаем Enter. После этого программа запросит имя пользователя и пароль:

Нашего хранилища в списке нет, поэтому укажем адрес вручную:

Два следующих пункта (tenant и region) являются факультативными, и их можно пропустить. В последнем вопросе диалога нам будет предложено ещё раз проверить все настройки:

Если всё правильно, выбираем вариант y и нажимаем Enter.

Примеры команд

Синтаксис команд для работы с хранилищем прост:

При выполнении операций копирования и синхронизации rclone проверяет все файлы по дате и времени изменения или md5-сумме. Из директории-источника в директорию назначения передаются те файлы, которые были изменены.
Подробное описывать все команды мы в этой статье не будем: обо всё можно прочитать в официальной документации. Также краткую справку можно получить с помощью команды:

Большинство функций rclone — такие же, как у других инструментов для работы с облачными хранилищами. Но есть у него одна уникальная функция, которой нет ни у одного из известных нам инструментов: перенос данных из одного облачного хранилища в другое.

Рассмотрим следующий практический пример: у нас есть папка с фотографиями на Google Docs, и её содержимое нужно перенести в наше облачное хранилище. С помощью rclone это делается очень просто. Создаём новое подключение; в списке доступных облачных хранилище выбираем Google Drive. После этого нам будет предложено указать два параметра: client_id и client_secret. В ответ на соответствующие вопросы не ничего не вводим и просто нажимаем Enter.

Далее нам будет задан следующий вопрос:

Выбираем ответ «нет» (n). Rclone сгенерирует ссылку для получения кода:

Откроем эту ссылку в браузере и дадим rclone разрешение на доступ к файлам.

После этого API Google Drive вернёт код, который нужно будет вставить в ответ на вопрос:


Вот и всё. Подключение к Google Drive настроено, и можно приступать к копированию:

С задачей копирования файлов rclone справляется достаточно быстро: мы скопировали папку с фотографиями объёмом 1,8 ГБ за 1 минуту 55 секунд.

В ходе экспериментов мы также выяснили, что rclone без проблем копирует и текстовые документы GoogleDocs, преобразуя их в формат docx.

Загрузка объектов большого размера

Проверим скорость работы rclone ещё на одном тесте: попытаемся загрузить в хранилище объект большого размера — более 20 ГБ. Файлы до 20 ГБ загружаются в хранилище при помощи стандартных команд. Процедура загрузки файлов большего размера проходит по-другому: файл делится на сегменты, которые загружаются в отдельный контейнер.

Rclone по умолчанию делит такие файлы на сегменты размером по 5ГБ каждый. В случае необходимости размер сегмента можно изменить с помощью опции -swift-chunk-size. Мы попробовали загрузить в хранилище файл размером 25 ГБ. Rclone справился с этой задачей за 11 минут 14 секунд. Результат, как видим, вполне неплохой.

Заключение

Rclone — вполне интересный и перспективный инструмент, который вполне можно рекомендовать к использованию. Если вам кажется, что мы о чём-то забыли рассказать, сообщите нам об этом, и мы обязательно расширим наш обзор.

А если вы уже знакомы с rclone — делитесь опытом в комментариях.
Если вы по тем или иным причинам не можете оставлять комментарии здесь — добро пожаловать в наш блог .

Rclone является популярным консольным клиентом для управления данными в Объектном хранилище. После установки и настройки Rclone можно использовать его в качестве инструмента для резервного копирования, миграции, синхронизации и шифрования данных.

Обратите внимание! Ниже показан пример установки для актуальной на момент написания инструкции версии 1.55.1. В зависимости от версии Rclone порядок установки может меняться.

Установка

Порядок установки на ОС семейства Linux

Порядок установки на MacOS

Порядок установки на Windows ОС

Скачайте дистрибутив Rclone для Windows с официального сайта Rclone. Запустите приложение и следуйте инструкуциям.

Конфигурация

Перед началом работы с Объектным хранилищем Selectel необходимо создать конфигурацию. Так как Rclone является консольным клиентом, порядок конфигурации не отличается от типа ОС, на которую он был установлен.

Пример конфигурации доступа через Swift API

Для начала настройки введите:

На консоли появится такой диалог:

Выберите n для создания новой конфигурации и нажмите клавишу Enter.

Выберите Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH) и введите цифру, соответствующую номеру пункта (в зависимости от версии Rclone меняется порядок хранилищ, в данном примере это пункт 11). Нажмите Enter.

Выберите Enter swift credentials in the next step для ввода имени пользователя и пароля.

После этого программа запросит имя пользователя и пароль:

При запросе хоста для доступа через Swift API введите его вручную:

Все пункты ниже можно оставить пустыми, нажав после каждого клавишу Enter.

Еще раз проверьте все настройки:

Если все указано правильно, введите y и нажмите Enter.

Для выхода из диалога настроек введите q и нажмите Enter.

Пример конфигурации доступа через S3 API

Для начала настройки наберите:

На консоли появится такой диалог:

Выберите n для создания новой конфигурации и нажмите клавишу Enter.

Выберите Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc) и введите цифру, соответствующую номеру пункта (в зависимости от версии Rclone меняется порядок хранилищ, в данном примере это пункт 4). Нажмите Enter.

Выберите S3 провайдера Any other S3 compatible provider и введите цифру, соответствующую номеру пункта (в данном примере это пункт 10). Нажмите Enter.

Выберите false в пункте Enter AWS credentials in the next step:

Введите имя пользователя и пароль:

Внимание! Для доступа по S3 API в настройках пользователя отметьте Использовать эти данные для доступа по протоколу S3.

Выберите url для доступа по протоколу S3 API:

Все пункты ниже можно оставить пустыми, нажав после каждого клавишу Enter.

Еще раз проверьте все настройки:

Если все указано правильно, введите y и нажмите Enter.

Для выхода из диалога настроек введите q и нажмите Enter.

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

Просмотр списка контейнеров в хранилище:

Создание нового контейнера:

Просмотр списка файлов в контейнере:

Копирование файлов с локальной машины в хранилище:

Синхронизация файлов на локальной машине и в хранилище:

Синхронизация файлов в хранилище с файлами на локальной машине:

При выполнении операций копирования и синхронизации rclone проверяет все файлы по дате и времени изменения или md5-сумме. Из директории-источника в директорию назначения передаются те файлы, которые были изменены.

Подробное обо всех командах можно прочитать в официальной документации. Краткую справку можно получить с помощью команды:

Установка rclone

Скачиваем rclone и распаковываем его

Меняем расположение исполняемого файла и настраиваем права


Устанавливаем мануал для rclone

На этом установка окончена

Обновление rclone

Удаляем версию, установленную из архива

Скачиваем новую версию и устанавлваем ее

Запускаем команду для создания конфигурации под хранилище

Далее отобразиться конфигурация, которую мы создали, сохраняем ее и выходим

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

Список команд и поддерживаемых флагов можно найти на официальном сайте приложения rcolne

Просмотр списка бакетов:

Создание нового бакета

Просмотр списка файлов в бакете

Копирование файлов с локальной машины в хранилище

Синхронизация файлов на локальной машине и в хранилище

Копирование файлов из хранилища на локальную машину

Не синхронизировать файлы младше 1 дня

Не синхронизировать файлы старше 7 дней

Удалить файлы младше 7 дней

Удалить файлы старше 7 дней

Запускаем команду для создания конфигурации под хранилище

Далее отобразиться конфигурация, которую мы создали, сохраняем ее и выходим

Пример скрипта бэкапирования дампа базы MySQL в хранилище

Логика скрипта бэкапирования следующая:

  • локально хранятся бэкапы базы за 8 дней (т.к. они небольшого размера)
  • в облаке хранится бэкапы базы за 1 месяц
  • в лог пишется информация о количестве локальных бэкапов и какие были удалены

Скрипт через crontab выполняется ежедневно

Для бэкапирования самого сайта у меня запускается похожий скрипт раз в неделю, но из-за другой периодичности запуска:

  • локально хранится 1 полный бэкап файлов сайта (т.к. этот бэкап весит на несколько порядков больше, чем база)
  • в облаке хранятся бэкапы за месяц (т.е. 4 шт.)

UPD 13.12.2019

Если конфигурировали rclone от одного пользователя, а скрипт бэкапирования запускается от пользователя root, надо скопировать конфигурационный файл rclone

Читайте также: