Перейти к содержимому

Rclone — резервное копирование в облако

Инструкция по установки и настройке Rclone. Rclone сделает всю рутинную работу по копированию и выгрузке резервной копии в облачное хранилище. Rclone поддерживает большое количество облачных хранилищ, среди них:

  • Amazon Drive
  • Amazon S3
  • Backblaze B2
  • Ceph
  • Citrix ShareFile
  • Cloudflare R2
  • DigitalOcean Spaces
  • Dropbox
  • Google Cloud Storage
  • Google Drive
  • Google Photos
  • Mail.ru Cloud
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • Nextcloud
  • ownCloud
  • Seafile
  • Sia
  • Yandex Disk
  • Zoho WorkDrive

И позволяет осуществлять выгрузку по таким протоколам как:

  • FTP / SFTP
  • HTTP
  • SMB / CIFS
  • WebDAV

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

Установка Rclone

Rclone поддерживает большое количество операционных систем. Вы можете установить Rclone на:

  • Ubuntu
  • Debian
  • Arch Linux
  • Fedora
  • FreeBSD
  • Gentoo
  • Manjaro
  • OpenBSD
  • macOS
  • Windows

Установка rclone одной командой

Самый простой вариант установки rclone — запустить установку используя скрипт который сам установит последнюю версию

sudo -v ; curl https://rclone.org/install.sh | sudo bash

Установка Rclone Linux ( Ubuntu, Debian, Fedora, Arch, Gentoo)

Установим программу unzip

sudo apt install unzip

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

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Таким образом вы скачаете архив с последней версией rclone, распакуете его и перейдет в распакованную папку.

Скопируем исполняемый файл rclone в папку /usr/bin/ и установим верные права и владельца на данном файле.

sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone

Добавим информацию о rclone в базу данных man

sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb

Установка rclone Windows

Для установки rclone в windows вам необходимо скачать архив с утилитой с официального сайта , распаковать его и сохранить в удобнов для вас месте.

Настройка подключения в Rclone

Для начала работы с rclone, выполняем команду

rclone config

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

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config

Нажимаем n для создания нового подключения которому необходимо будет дать название.

Enter name for new remote.
name> UnixTest

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

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)
 3 / Alias for an existing remote
   \ (alias)
 4 / Amazon Drive
   \ (amazon cloud drive)
 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, Digital Ocean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, IONOS Cloud, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and Wasabi
   \ (s3)
 6 / Backblaze B2
   \ (b2)
 7 / Better checksums for other remotes
   \ (hasher)
 8 / Box
   \ (box)
 9 / Cache a remote
   \ (cache)
10 / Citrix Sharefile
   \ (sharefile)
11 / Combine several remotes into one
   \ (combine)
12 / Compress a remote
   \ (compress)
13 / Dropbox
   \ (dropbox)
14 / Encrypt/Decrypt a remote
   \ (crypt)
15 / Enterprise File Fabric
   \ (filefabric)
16 / FTP
   \ (ftp)
17 / Google Cloud Storage (this is not Google Drive)
   \ (google cloud storage)
18 / Google Drive
   \ (drive)
19 / Google Photos
   \ (google photos)
20 / HTTP
   \ (http)
21 / Hadoop distributed file system
   \ (hdfs)
22 / HiDrive
   \ (hidrive)
23 / In memory object storage system.
   \ (memory)
24 / Internet Archive
   \ (internetarchive)
25 / Jottacloud
   \ (jottacloud)
26 / Koofr, Digi Storage and other Koofr-compatible storage providers
   \ (koofr)
27 / Local Disk
   \ (local)
28 / Mail.ru Cloud
   \ (mailru)
29 / Mega
   \ (mega)
30 / Microsoft Azure Blob Storage
   \ (azureblob)
31 / Microsoft OneDrive
   \ (onedrive)
32 / OpenDrive
   \ (opendrive)
33 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ (swift)
34 / Oracle Cloud Infrastructure Object Storage
   \ (oracleobjectstorage)
35 / Pcloud
   \ (pcloud)
36 / Put.io
   \ (putio)
37 / QingCloud Object Storage
   \ (qingstor)
38 / SMB / CIFS
   \ (smb)
39 / SSH/SFTP
   \ (sftp)
40 / Sia Decentralized Cloud
   \ (sia)
41 / Storj Decentralized Cloud Storage
   \ (storj)
42 / Sugarsync
   \ (sugarsync)
43 / Transparently chunk/split large files
   \ (chunker)
44 / Union merges the contents of several upstream fs
   \ (union)
45 / Uptobox
   \ (uptobox)
46 / WebDAV
   \ (webdav)
47 / Yandex Disk
   \ (yandex)
48 / Zoho
   \ (zoho)
49 / premiumize.me
   \ (premiumizeme)
50 / seafile
   \ (seafile)
Storage> 31

В client_id и client_secret мы ничего не указываем, в качестве региона выбираем Microsoft Cloud Global

Option region.
Choose national cloud region for OneDrive.
Choose a number from below, or type in your own string value.
Press Enter for the default (global).
 1 / Microsoft Cloud Global
   \ (global)
 2 / Microsoft Cloud for US Government
   \ (us)
 3 / Microsoft Cloud Germany
   \ (de)
 4 / Azure and Office 365 operated by Vnet Group in China
   \ (cn)
region> 1

На вопрос дополнительной настройки конфигурации отвечает No

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

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

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> n

Теперь установим rclone на локальном компьютере и выполним команду которую предлагает мастер настройки rclone

For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
        rclone authorize "onedrive"
Then paste the result.
Enter a value.
config_token> 

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

На следующем шаге выбираем 1.

Option config_type.
Type of connection
Choose a number from below, or type in an existing string value.
Press Enter for the default (onedrive).
 1 / OneDrive Personal or Business
   \ (onedrive)
 2 / Root Sharepoint site
   \ (sharepoint)
   / Sharepoint site name or URL
 3 | E.g. mysite or https://contoso.sharepoint.com/sites/mysite
   \ (url)
 4 / Search for a Sharepoint site
   \ (search)
 5 / Type in driveID (advanced)
   \ (driveid)
 6 / Type in SiteID (advanced)
   \ (siteid)
   / Sharepoint server-relative path (advanced)
 7 | E.g. /teams/hr
   \ (path)

Далее rclone определит ваш аккаунт и в конце будет выведен ваш конфиг файл, для сохранения конфигурации вводим y.

Keep this "UnixTest" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

После этого в rclone будет сохранено подключение для резервного копирования

Current remotes:

Name                 Type
====                 ====
UnixTest            onedrive

Работа с Rclone

Для вывода списка директоий в облачном хранилище используется команда rclone lsd в которой необходимо указать имя подключения. В нашем случае имя подключения UnixTest и в конце поставить двоеточие

rclone lsd connection_name:

Для создания новой директории используется команда rclone mkdir

rclone mkdir connection_name:new_dir

Для просмотров файлов в директории

rclone lsd connection_name:new_dir

Для копирования файла используется команда copy

rclone copy file.name connection_name:dir_name

Чтобы удалить директорию на стороне облачного хранилища используйте команду rclone rmdir

rclone rmdir connection_name:/path/to/dir_name

Для синхронизации файлов локального сервера с файлами хранилища используется команда sync. В качестве /server/folder необходимо указать локальный путь папки которую вы хотите синхронизировать

rclone sync connection_name:dir_name /server/folder

Для монтирования папки облачного хранилища используется команда rclone mount.

rclone mount connection_name:dir_name /path/to/local/mount

Если же вам необходимо примонтировать папку в фоновом режиме то необходимо использовать флаг —daemon.

rclone mount --daemon connection_name:dir_name /path/to/local/mount

Для того чтобы размонтировать примонтированную папку выполняем

umount connection_name:dir_name

Веб-интерфейс для rclone

Управлять rclone можно и через веб-интерфейс. Для этого необходимо выполнить следующую команду указав вместо server_ip IP адрес вашего сервера, дополнительно можно указать любой порт. Для дополнительной защиты в —rc-user и —rc-pass укажите логин и пароль

rclone rcd --rc-web-gui --rc-addr server_ip:5572 --rc-user admin --rc-pass pass