установка Rclone

Thank you for reading this post, don't forget to subscribe!

Rclone (“rsync для облач­ных хра­ни­лищ”) – это мно­го­функ­ци­о­наль­ное при­ло­же­ние для син­хро­ни­за­ции облач­ных хра­ни­лищ с помо­щью команд­ной стро­ки для резерв­но­го копи­ро­ва­ния и вос­ста­нов­ле­ния фай­лов с локаль­ных и облач­ных хранилищ.

Rclone – это про­грам­ма с откры­тым исход­ным кодом, вдох­нов­лен­ная Rsync, и напи­са­на она на язы­ке про­грам­ми­ро­ва­ния Go.

Давай­те посмот­рим крат­кое опи­са­ние неко­то­рых при­ме­ча­тель­ных функ­ций Rclone.

Особенности Rclone

1. Мон­ти­ру­ет фай­ло­вые систе­мы как диск

Исполь­зуя Rclone, мы можем мон­ти­ро­вать локаль­ную, облач­ную или вир­ту­аль­ную фай­ло­вую систе­му как диск в опе­ра­ци­он­ных систе­мах Linux, macOS и Windows, а так­же пере­да­вать локаль­ные или уда­лен­ные фай­лы по про­то­ко­лам SFTP, HTTP, WebDAV, FTP и DLNA.

2. Rclone наде­жен и безопасен

Rclone очень без­опа­сен по сво­ей конструкции!

Он шиф­ру­ет фай­лы перед пере­да­чей в облач­ное хра­ни­ли­ще и рас­шиф­ро­вы­ва­ет их при вос­ста­нов­ле­нии из облач­но­го хра­ни­ли­ща на наш локаль­ный диск.

3. Син­хро­ни­за­ция фай­лов меж­ду раз­лич­ны­ми облач­ны­ми провайдерами

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

Напри­мер, с помо­щью Rclone мож­но син­хро­ни­зи­ро­вать фай­лы меж­ду Google drive и Dropbox.

4. Избе­га­ет дуб­ли­ро­ва­ния файлов

Rclone не будет копи­ро­вать иден­тич­ные фай­лы. При исполь­зо­ва­нии коман­ды ‘copy’ он про­ве­ря­ет раз­мер и дату моди­фи­ка­ции или MD5SUM файлов.

Если он обна­ру­жит, что фай­лы иден­тич­ны как в источ­ни­ке, так и в месте назна­че­ния, он про­сто про­пу­стит их и ско­пи­ру­ет толь­ко новые или изме­нен­ные файлы.

5. Сокра­ща­ет про­пуск­ную спо­соб­ность и время

Еще одна при­ме­ча­тель­ная осо­бен­ность Rclone – он не исполь­зу­ет локаль­ный диск при пере­да­че фай­лов от одно­го облач­но­го про­вай­де­ра к другому.

Это зна­чи­тель­но сокра­ща­ет исполь­зо­ва­ние локаль­ной поло­сы про­пус­ка­ния, а так­же вре­мя передачи.

6. Уда­ле­ние локаль­ных фай­лов после их перемещения

В Rclone есть воз­мож­ность пере­ме­щать фай­лы в облач­ное хра­ни­ли­ще и уда­лять локаль­ные фай­лы после проверки.

Это удоб­но, когда вы не хоти­те хра­нить одни и те же фай­лы в несколь­ких местах.

7. Сжи­ма­ет и раз­де­ля­ет файлы

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

В таких слу­ча­ях вы може­те сжать или раз­де­лить боль­шие фай­лы на более мел­кие части во вре­мя загрузки.

Кус­ки фай­ла будут собра­ны обрат­но при его загрузке.

8. Про­ве­ря­ет целост­ность данных

Рабо­та Rclone не закан­чи­ва­ет­ся после загруз­ки фай­лов в обла­ко. Он так­же забо­тит­ся о сохран­но­сти ваших данных.

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

Так­же есть воз­мож­ность срав­нить толь­ко раз­мер или толь­ко хэш-зна­че­ние. Обра­ти­те вни­ма­ние, что Rclone не изме­ня­ет ни источ­ник, ни место назначения.

9. Коман­ды Rclone ана­ло­гич­ны обыч­ным коман­дам Linux/Unix

Rclone вклю­ча­ет облач­ные экви­ва­лен­ты мно­гих тра­ди­ци­он­ных команд Linux и Unix, таких как rsync, cp, mv, mount, ls, ncdu, tree, rm и cat. Если вы уже зна­ко­мы с эти­ми коман­да­ми, исполь­зо­ва­ние Rclone CLI будет намно­го проще!

Если вы не уве­ре­ны в том, каким будет реаль­ный резуль­тат выпол­не­ния коман­ды, вы може­те исполь­зо­вать опцию –dry-run, что­бы смо­де­ли­ро­вать коман­ды еще до их выпол­не­ния. Подроб­нее о симу­ля­ции команд вы може­те про­чи­тать в этой статье.

10. У Rclone есть WebUI

В ран­ние годы Rclone был исклю­чи­тель­но про­грам­мой команд­ной стро­ки. К сча­стью, теперь у нее есть экс­пе­ри­мен­таль­ный гра­фи­че­ский интер­фейс на базе Web. Так что если вам неудоб­но рабо­тать с CLI, вы може­те выпол­нять мно­гие опе­ра­ции Rclone гра­фи­че­ски через веб-браузер.

11. Под­дер­жи­ва­ет мно­же­ство облач­ных провайдеров

На момент напи­са­ния этой ста­тьи Rclone может эффек­тив­но управ­лять фай­ла­ми на 40+ облач­ных хра­ни­ли­щах, таких как AWS, Backblaze, Google drive, Dropbox, Mega, NextCloud, ownCloud, Rackspace и мно­гих других.

12. Rclone – бес­плат­ный, мно­го­плат­фор­мен­ный и с откры­тым исход­ным кодом!

Как уже было ска­за­но, Rclone явля­ет­ся крос­сплат­фор­мен­ным при­ло­же­ни­ем, хоро­шо рабо­та­ет под опе­ра­ци­он­ны­ми систе­ма­ми Linux, Unix, macOS и Windows.

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

Установка Rclone в Linux и Unix

Rclone может быть уста­нов­лен несколь­ки­ми способами.

Вы може­те уста­но­вить Rclone из офи­ци­аль­но­го скрип­та уста­нов­щи­ка, с помо­щью мене­дже­ра паке­тов и из исходников.

1. Установка Rclone с помощью скрипта установщика

Раз­ра­бот­чи­ки Rclone сде­ла­ли уста­но­воч­ный скрипт для уста­нов­ки как ста­биль­но­го rclone, так и бета-версии.

Что­бы уста­но­вить Rclone на Linux, BSD и macOS, выпол­ни­те сле­ду­ю­щую коман­ду в терминале:

$ curl https://rclone.org/install.sh | sudo bash

Этот скрипт сна­ча­ла про­ве­рит, уста­нов­лен ли Rclone в вашей системе.

Если он уже уста­нов­лен, он про­сто завер­шит­ся без пере­уста­нов­ки Rclone.

Если вы хоти­те попро­бо­вать послед­нюю бета-вер­сию, запу­сти­те эту команду:

$ curl https://rclone.org/install.sh | sudo bash -s beta

Неко­то­рые из вас не захо­тят напря­мую запус­кать скрипт.

Если вы из их чис­ла, вы може­те попро­бо­вать уста­но­вить Rclone любым из при­ве­ден­ных ниже способов.

2. Установите Rclone с помощью менеджера пакетов

Rclone упа­ко­ван для мно­гих Linux и Unix-подоб­ных опе­ра­ци­он­ных систем.

Rclone досту­пен в стан­дарт­ных репо­зи­то­ри­ях боль­шин­ства дис­три­бу­ти­вов Linux, поэто­му мы можем уста­но­вить его с помо­щью стан­дарт­но­го мене­дже­ра паке­тов, как пока­за­но ниже.

Что­бы уста­но­вить Rclone в Arch Linux, EndeavourOS и Manjaro Linux, выпол­ни­те сле­ду­ю­щие действия:

$ sudo pacman -S rclone

Install Rclone in Alpine Linux:

$ sudo apk add rclone

Debian, Ubuntu, Linux Mint, Pop OS:

$ sudo apt install Rclone

Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:

$ sudo dnf install rclone

В RHEL и его кло­нах перед уста­нов­кой Rclone необ­хо­ди­мо вклю­чить репо­зи­то­рий [EPEL].

$ sudo dnf install epel-release

OpenSUSE:

$ sudo zypper install rclone

3. Установка Rclone из исходного кода

Убе­ди­тесь, что у вас уста­нов­ле­на вер­сия Go 1.4 или выше.

Для уста­нов­ки Go в Linux сле­дуй­те любо­му из руководств.

После уста­нов­ки Go выпол­ни­те сле­ду­ю­щую коман­ду для уста­нов­ки Rclone из исход­но­го кода:

$ go get github.com/rclone/rclone

Если вам нуж­на послед­няя бета-вер­сия, запустите:

$ go get github.com/rclone/rclone@master

4. Установка Rclone из предварительно скомпилированных бинарников

Rclone так­же досту­пен в виде пред­ва­ри­тель­но ском­пи­ли­ро­ван­ных дво­ич­ных файлов.

Загру­зи­те послед­нюю вер­сию бинар­но­го фай­ла Rclone:

$ curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip

Систе­ма загру­зит zip-файл Rclone в теку­щий ката­лог. Рас­па­куй­те Zip-файл с помо­щью команды:

$ unzip rclone-current-linux-amd64.zip

Это извле­чет содер­жи­мое в каталог.

Перей­дем в него:

$ cd rclone-*-linux-amd64

Ско­пи­ру­ем бинар­ный Rclone в ваш $PATH:

$ sudo cp rclone /usr/bin/

Уста­но­ви­те пра­виль­ные пра­ва и раз­ре­ше­ния на бинар­ник Rclone:

$ sudo chown root:root /usr/bin/rclone

$ sudo chmod 755 /usr/bin/rclone

Затем уста­но­ви­те manpage для Rclone, выпол­нив после­до­ва­тель­но сле­ду­ю­щие команды.

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

5. Установка snap Rclone

Rclone так­же досту­пен в виде Snap.

Что­бы уста­но­вить пакет Rclone snap, выполните:

Про­вер­ка вер­сии Rclone

После уста­нов­ки вы може­те про­ве­рить вер­сию уста­нов­лен­но­го Rclone с помо­щью команды:

$ rclone version

Вывод:

Отображение справки Rclone

Мы можем про­смот­реть раз­дел справ­ки Rclone, выпол­нив сле­ду­ю­щую команду:

$ rclone help

или,

$ rclone -h

Здесь будет при­ве­ден спи­сок доступ­ных команд Rclone вме­сте с неболь­шим опи­са­ни­ем каж­дой команды.

Если вы хоти­те про­смот­реть раз­дел справ­ки по кон­крет­ной коман­де rclone, выпол­ни­те команду:

rclone [command_name] --help

При­мер:

$ rclone mount help

Систе­ма отоб­ра­зит раз­дел справ­ки коман­ды rclone mount.

Что­бы про­смот­реть доступ­ные гло­баль­ные фла­ги, выпол­ни­те команду:

$ rclone help flags

Про­смот­ри­те под­дер­жи­ва­е­мых постав­щи­ков облач­ных услуг:

$ rclone help backends

Вы може­те полу­чить инфор­ма­цию о кон­крет­ном бэкен­де, как пока­за­но ниже.

rclone help backend

При­мер:

$ rclone help backend mega

Отоб­ра­зит­ся раз­дел помо­щи по исполь­зо­ва­нию бэкен­да Mega.

Доступ к веб-интерфейсу Rclone

Послед­няя вер­сия Rclone постав­ля­ет­ся с про­стым веб-интер­фей­сом для Rclone.

Вы може­те полу­чить доступ к гра­фи­че­ско­му интер­фей­су Rclone Web GUI, выпол­нив сле­ду­ю­щую коман­ду из терминала:

$ rclone rcd --rc-web-gui

Открой­те даш­борд Rclone по адре­су http://localhost:5572/ URL в вашем бра­у­зе­ре по умолчанию.