Как установить и использовать rclone


Как установить и использовать rclone на примере OC Windows
Для начала необходимо скачать подходящий дистрибутив программы на сайте разработчика:
После скачивания, необходимо распаковать архив с программой в удобном месте, а затем открыть папку с ним через cmd.exe:
cd C:\Users\user1\Desktop\rclone-v1.69.1-windows-amd64
Для того, чтобы не открывать папку с rclone каждый раз, а обращаться к нему из любого места, нужно поместить rclone.exe в папку C:\Windows\system32.
Можно вывести справку о командах программы, написав rclone.exe и нажав Enter.
Для настройки rclone для работы с облачным хранилищем, необходимо произвести конфигурацию подключения с помощью команды rclone config. Создадим новую конфигурацию для выгрузки данных на Google Drive. После ввода rclone config программа уведомит нас о том, что на данный момент нет настроенных подключений и спросит, хотим ли мы создать новое подключение, установить пароль на конфигурацию или выйти из редактирования конфигурационного файла. Пишем n и жмём Enter:
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
Rclone попросит указать имя для нового подключения, которое в дальнейшем будет использоваться для обращения к нему:
Enter name for new remote. name> gdrive
Следующим шагом будет выбор типа хранилища для настройки конфигурации. В нашем случае выбираем 20 и жмём Enter:
Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. 1 / 1Fichier \ (fichier) 2 / Akamai NetStorage \ (netstorage) ... 20 / Google Drive \ (drive) ... Storage> 20
На следующие два вопроса отвечаем просто нажатием Enter, оставляя значение по умолчанию:
Option client_id. Google Application Client Id Setting your own is recommended. See https://rclone.org/drive/#making-your-own-client-id for how to create your own. If you leave this blank, it will use an internal key which is low performance. Enter a value. Press Enter to leave empty. client_id> Option client_secret. OAuth Client Secret. Leave blank normally. Enter a value. Press Enter to leave empty. client_secret>
Следующим шагом указываем необходимый под наши нужды доступ, который будет предоставлен через подключение в rclone:
Option scope. Comma separated list of scopes that rclone should use when requesting access from drive. Choose a number from below, or type in your own value. Press Enter to leave empty. 1 / Full access all files, excluding Application Data Folder. \ (drive) 2 / Read-only access to file metadata and file contents. \ (drive.readonly) / Access to files created by rclone only. 3 | These are visible in the drive website. | File authorization is revoked when the user deauthorizes the app. \ (drive.file) / Allows read and write access to the Application Data folder. 4 | This is not visible in the drive website. \ (drive.appfolder) / Allows read-only access to file metadata but 5 | does not allow any access to read or download file content. \ (drive.metadata.readonly) scope> 1
На следующий вопрос отвечаем также нажатием Enter, после чего программа предложит редактировать расширенную конфигурацию. Ответив на данное предложение n и нажав Enter, rclone предложит использовать браузер для автоматической аутентификации с подключением. Выбрав y и нажав Enter, откроется страница аутентификации в браузере. Нужно будет выбрать соответствующий Google аккаунт и разрешить rclone запрашиваемый доступ, после чего вернуться к командной строке:
Use web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. y) Yes (default) n) No y/n> y
После предоставления доступа rclone предложит настроить данное подключение в качестве общего диска. Выбираем нужную вам опцию и жмём Enter:
Configure this as a Shared Drive (Team Drive)? y) Yes n) No (default) y/n> n
В качестве последнего шага настройки rclone предложит проверить параметры создаваемого подключения и изменить или удалить их, в случае ошибки:
Configuration complete. Options: - type: drive - scope: drive - token: {"access_token":"***","token_type":"Bearer","refresh_token":"***","expiry":"2025-04-07T12:09:57.5633511+05:00"} - team_drive: Keep this "gdrive" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
После сохранения изменений, программа выведет текущий список доступных конфигураций подключения, где мы увидим только что созданный нами конфиг для Google Drive. Нажимаем q и Enter, чтобы выйти из режима редактирования конфигурации:
Current remotes: Name Type ==== ==== gdrive drive e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
Настройка окончена, теперь мы можем работать с нашим облачным хранилищем, обращаясь к нему через заданное для подключения имя.
Небольшой список команд для работы с облачным диском:
- rclone mkdir gdrive:[folder] - создание папки в облаке
- rclone copy [local-src] gdrive:[folder] - копирование в облако
- rclone copy gdrive:[folder] [local-src] - копирование в локальную папку
- rclone sync [local-src] gdrive:[folder] - синхронизация с облаком приоритет на локальной папке
- rclone sync gdrive:[folder] [local-src] - синхронизация с облаком приоритет на облако
- rclone lsd gdrive: - показать созданные [folder]
- rclone ls gdrive:[folder] - показать файлы в [folder]
Пример:
- rclone mkdir gdrive:backups – создаст на диске папку backups
- rclone sync C:\Folder\psql_backup.zip gdrive:backups – синхронизирует с облаком архив psql_bakcup.zip с приоритетом на локальной папке
- rclone ls gdrive:backups – покажет файлы в папке backups
Теперь добавим подключение к S3 хранилищу. Вводим команду rclone config и выбираем n, чтобы добавить новое подключение, после чего нажимаем Enter и задаём имя:
>rclone config Current remotes: Name Type ==== ==== gdrive drive e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n Enter name for new remote. name> s3storage
В типе хранилища выбираем 4 и жмём Enter:
Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. 1 / 1Fichier \ (fichier) ... 4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, Selectel, StackPath, Storj, Synology, TencentCOS, Wasabi, Qiniu and others \ (s3) ... 61 / seafile \ (seafile) Storage> 4
Следующим шагом необходимо выбрать провайдера хранилища. В случае, если вашего провайдера нет в списке, можно выбрать последнюю опцию - 34 / Any other S3 compatible provider.
Далее выбираем цифру 1 в следующем вопросе, чтобы произвести ручную настройку данных подключения:
Option env_auth. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank. Choose a number from below, or type in your own boolean value (true or false). Press Enter for the default (false). 1 / Enter AWS credentials in the next step. \ (false) 2 / Get AWS credentials from the environment (env vars or IAM). \ (true) env_auth> 1
Вводим наш ключ доступа для S3:
Option access_key_id. AWS Access Key ID. Leave blank for anonymous access or runtime credentials. Enter a value. Press Enter to leave empty. access_key_id> <S3 Access Key>
И секретный ключ доступа:
Option secret_access_key. AWS Secret Access Key (password). Leave blank for anonymous access or runtime credentials. Enter a value. Press Enter to leave empty. secret_access_key> <S3 Secret Access Key>
На следующем шаге программа просит указать регион для подключения. В нашем случае мы указываем eu-01, но если вы не уверены, можете оставить поле пустым и rclone будет использовать v4 Signatures для подключения к хранилищу:
Option region. Region to connect to. Leave blank if you are using an S3 clone and you don't have a region. Choose a number from below, or type in your own value. Press Enter to leave empty. / Use this if unsure. 1 | Will use v4 signatures and an empty region. \ () / Use this only if v4 signatures don't work. 2 | E.g. pre Jewel/v10 CEPH. \ (other-v2-signature) region> eu-01
Далее rclone попросит указать URL вашего эндпоинта для доступа по протоколу S3 API:
Option endpoint. Endpoint for S3 API. Required when using an S3 clone. Enter a value. Press Enter to leave empty. endpoint> <S3 API URL>
На следующем шаге rclone предложит задать значение location_constraint – нажимаем Enter, чтобы оставить поле пустым.
Последним шагом конфигурации подключения rclone предложит выбрать список доступа по умолчанию, который будет назначаться создаваемым бакетам и копирующимся объектам в S3 хранилище. Мы можем оставить поле пустым, в таком случае rclone выберет по умолчанию ACL private.
Option acl. Canned ACL used when creating buckets and storing or copying objects. This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl Note that this ACL is applied when server-side copying objects as S3 doesn't copy the ACL from the source but rather writes a fresh one. If the acl is an empty string then no X-Amz-Acl: header is added and the default (private) will be used. Choose a number from below, or type in your own value. Press Enter to leave empty. / Owner gets FULL_CONTROL. 1 | No one else has access rights (default). \ (private) / Owner gets FULL_CONTROL. 2 | The AllUsers group gets READ access. \ (public-read) / Owner gets FULL_CONTROL. 3 | The AllUsers group gets READ and WRITE access. | Granting this on a bucket is generally not recommended. \ (public-read-write) / Owner gets FULL_CONTROL. 4 | The AuthenticatedUsers group gets READ access. \ (authenticated-read) / Object owner gets FULL_CONTROL. 5 | Bucket owner gets READ access. | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. \ (bucket-owner-read) / Both the object owner and the bucket owner get FULL_CONTROL over the object. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. \ (bucket-owner-full-control) acl>
Далее отказываемся от предложения отредактировать расширенную конфигурацию, проверяем настроенные параметры и сохраняем наше подключение:
Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: s3 - provider: Other - access_key_id: <S3 Access Key> - secret_access_key: <S3 Secret Key> - region: eu-01 - endpoint: <S3 API URL> Keep this "s3storage" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
Видим, что нашего подключение было успешно добавлено в список и выходим из режима редактирования конфигурации:
Current remotes: Name Type ==== ==== gdrive drive s3storage s3 e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
С помощью команды rclone lsd мы можем посмотреть список бакетов в нашем S3 хранилище:
>rclone lsd s3storage: -1 2025-04-07 14:08:32 -1 2d1734f2-e78a77eb-e3d2-494b-995d-5fe9ba21a456
Все команды для работы с файлами в случае подключения к S3 хранилищу остаются такими же, что и при работе с облачным диском.
Резервное копирование на примере 1С
Рассмотрим возможность применения rclone в автоматизации выгрузки резервных копий файловой БД 1С на Windows. Для этой задачи нам понадобится batch скрипт, который будет делать копию файла базы данных, архивировать его и помечать датой, после чего отправлять в облачное хранилище.
Сам скрипт выглядит следующим образом:
@echo off ::Устанавливаем переменные даты и пути до папки с БД set datetime=%DATE%_%TIME:~-11,2%-%TIME:~-8,2% set datetime=%datetime:/=-% set pathDB="C:\Users\user1\Documents\InfoBase" ::Запаковываем БД в zip архив и отмечаем его текущей датой tar -acvf "%pathDB%\FDB_%datetime%.zip" "%pathDB%\1Cv8.1CD" ::Синхронизируем резервную копию с облачным хранилищем cmd /c rclone sync "%pathDB%\FDB_%datetime%.zip" storage:test1 ::Удаляем архив после выгрузки в облако del "%pathDB%\FDB_%datetime%.zip"
pathDB – путь до файловых баз в 1С
Для баз данных из СУБД MS SQL, вы можете создавать резервные копии в директорию и выгружать с помощью этого скрипта.
Для автоматического запуска скрипта на сервере воспользуемся планировщиком задач Windows. Открываем его и в правом меню «Действия» выбираем «Создать задачу»:
В открывшемся окне задаём имя задаче:
Во вкладке «Триггеры» выбираем «Создать» и настраиваем его следующим образом, указывая необходимое вам ежедневное время запуска. Далее нажимаем ОК, чтобы сохранить изменения:
Во вкладке «Действия» нажимаем «Создать» и в открывшемся окне указываем путь до нашего файла со скриптом, после чего также нажимаем ОК:
На этом наша настройка закончена, нажимаем ОК, чтобы сохранить задачу в планировщике и ждём запуска скрипта в установленное время. После выполнения задачи, можем проверить, что архив был сохранён в облачном хранилище с текущей датой и указанным временем:
Резервное копирование на примере PostgreSQL
А теперь рассмотрим возможность автоматизации резервного копирования на Linux для СУБД PostgreSQL. В этот раз мы будем использовать bash-скрипт для автоматизации действий и планировщик crontab для ежедневного запуска скрипта на сервере. Скрипт будет выглядеть следующим образом:
#!/bin/sh PGPASSWORD=<Пароль_пользователя_БД> export PGPASSWORD pathB=/mnt/backup dbUser=<Имя_пользователя_БД> database=<Имя_БД> pg_dump -U $dbUser $database | gzip > $pathB/pgsql_$(date "+%Y-%m-%d").sql.gz rclone sync $pathB/pgsql_$(date "+%Y-%m-%d").sql.gz storage:test1 --config .config/rclone/rclone.conf rm -f $pathB/pgsql_$(date "+%Y-%m-%d").sql.gz
Скрипт создаёт резервную копию базы данных с помощью утилиты pg_dump, запаковывает её в архив с указанием даты, отправляет архив в облако и удаляет его из локальной папки. Стоит отметить, что для корректной работы данного скрипта для учётной записи пользователя БД в конфигурационном файле PostgreSQL pg_hba.conf должен быть установлен локальный метод аутентификации md5:
Теперь остаётся только добавить задачу в планировщик crontab с помощью команды crontab –e и добавить в файл строку вида:
<минуты> <час> <день месяца> <номер месяца> <день недели> bash <путь до скрипта>
В нашем случае для ежедневного запуска скрипта в 7:30 утра использована данная строка:
30 7 * * * bash /home/user1/psql_backup.sh
После этого можно закрыть файл с сохранением изменений и проверить сохранение резервной копии в облачном хранилище, когда задача выполнится:

Виртуализация — неизбежная и незаменимая часть современной ИТ-инфраструктуры любого бизнеса. Что это такое и как она работает, рассмотрим в этой статье.
01 октября, 2024
Как мы строим облако на VMware? Разбираем, как используем VMware vSphere и vCloud Director для создания виртуальных серверов и управления облачной инфраструктурой.
28 сентября, 2024
Рассказываем, что представляет собой гибридное облако, как оно работает, какие особенности имеет и кому подойдет
20 августа, 2024