Как использовать rclone для резервного копирования на Google Диск в Linux

Официального клиента Linux для Google Диска по-прежнему нет, но вы можете создать резервную копию на свой Google Диск с помощью утилиты rclone прямо из командной строки. Мы покажем вам, как это сделать.

Где Google Диск в Linux?

Несмотря на многообещающую поддержку Linux, которая «скоро появится» еще в 2012 году, нет никаких признаков того, что Google когда-либо создаст собственный Linux-клиент для Google Drive. Есть несколько неофициальных сторонних решений, таких как Синхронно, overGrive и ODrive, а некоторые файловые браузеры допускают интеграцию с вашим Google Диском, например Файлы в ГНОМ.

Сторонние приложения — это коммерческие продукты, требующие либо прямой покупки, либо подписки. Они работают хорошо, они не стоят много, и на самом деле у overGrive есть бесплатная версия, предлагающая ограниченную функциональность бесплатно.

Но что, если вы хотите создавать и запускать резервные копии из командной строки? Или включить эту функциональность в сценарии? Все это возможно благодаря замечательному приложению rclone. Фактически, с помощью rclone вы можете резервное копирование, загрузка и синхронизация файлов в более чем сорока различных облачных решениях. Это как rsync для облаков.

Установка rclone

rclone почти наверняка не будет установлен на вашем компьютере с Linux по умолчанию. К счастью, есть установочный сценарий, который должен работать во всех дистрибутивах. В процессе установки используются завиток. На компьютерах, использованных для исследования этой статьи, в Fedora 31 и Manjaro 18.1.0 уже был установлен curl, но на Ubuntu 18.04 LTS необходимо было установить curl.

В Ubuntu запустите эту команду, чтобы установить его:

sudo apt-get install curl

sudo apt-get install curl в окне терминала

После установки curl установите rclone с помощью этой команды:

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

curl https://rclone.org/install.sh |  sudo bash в окне терминала

Когда установка rclone будет завершена, вы увидите сообщение об успешном завершении.

Сообщение об успешном выполнении сценария установки rclone в окне терминала

Программа rclone установлена ​​на вашем компьютере с Linux. Следующим шагом является выполнение процесса установки и аутентификация rclone для доступа к вашему Google Диску.

  Как установить Spotify в Linux

Создание удаленного подключения rclone

Подключения к удаленным облачным сервисам в мире rclone называются «удаленными». Нам нужно создать его для Google Диска. Запустите процесс настройки rclone с помощью этой команды:

rclone config

Конфигурация rclone в окне терминала

В процессе настройки возникает много вопросов. Но не отчаивайтесь, для многих из них можно оставить значения по умолчанию и просто принять их, нажав «Enter».

rclone сообщает нам, что пульты дистанционного управления не настроены. Нажмите «n» и нажмите «Enter», чтобы создать новый пульт. Вам будет предложено ввести имя. Мы собираемся называть это «Google-диск». Используйте любое имя, которое вам нравится.

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

Длинное меню позволяет вам выбрать тип хранилища, к которому вы создаете удаленное соединение.

меню типа удаленного подключения rclone в окне терминала

Прокрутите список, пока не увидите запись для Google Диска, и запишите ее номер.

Конфигурация rclone в окне терминала

Мы видим, что в данном случае это номер 13. Введите это как тип хранилища и нажмите «Enter».

Установка типа хранилища rclone в окне терминала

Вам будет предложено ввести идентификатор клиента приложения Google. Нажмите «Enter», чтобы принять значение по умолчанию.

Запрашивать идентификатор клиента приложения Google в окне терминала

Затем вам будет предложено ввести секрет клиента приложения Google.

запросить секрет клиента приложения Google в окне терминала

Опять же, просто нажмите «Enter». Вас попросят указать область действия rclone, когда он работает на вашем Google Диске. Нажмите «1», а затем нажмите «Enter».

предоставление возможности для rclone в окне терминала

Для «ID корневой папки» просто нажмите «Enter».

запрос идентификатора корневой папки в окне терминала

При появлении запроса «Учетные данные учетной записи службы» нажмите «Ввод».

Запрос учетных данных учетной записи службы в окне терминала

При появлении запроса «Изменить расширенную конфигурацию» просто нажмите «Enter». В меню «Использовать автоконфигурацию» нажмите «y», а затем нажмите «Enter».

В

Это заставляет rclone связываться с вашим Google Диском и запускать ваш браузер, чтобы вы могли разрешить rclone взаимодействовать с вашим Google Диском.

rclone собирается запустить браузер в окне терминала

В окне браузера щелкните учетную запись Google, которую хотите использовать.

Выбор учетной записи Google для использования в окне браузера

Нажмите кнопку «Разрешить», чтобы позволить rclone иметь доступ к вашему Google Диску.

Разрешение rclone работать с Google Диском в окне терминала

Когда аутентификация будет завершена, вы увидите сообщение «Успешно!» сообщение в окне браузера. Вы можете закрыть браузер и вернуться в окно терминала.

Сообщение об успехе в окне браузера

В ответ на запрос «Настроить это как общий диск» введите «n» и нажмите «Enter».

Rclone

В меню «Да, изменить, удалить» введите «y» и нажмите «Enter».

Rclone

В последнем меню введите «q» и нажмите «Enter».

Последнее меню rclone в окне терминала

Сценарий резервного копирования rclone

Приложение rclone очень многофункционально. Это здорово, но это значит есть много вариантов. Команда, которую мы рассмотрим ниже, копирует файлы с вашего локального компьютера на ваш Google Диск. Это односторонняя копия в облако; это не двусторонняя синхронизация между вашим Google Диском и вашим локальным компьютером, хотя rclone может это сделать. Мы используем это как базовую форму резервного копирования вне офиса.

  Как получить жесты сенсорной панели Macbook в Linux

Введите (или скопируйте и вставьте) это в текстовый редактор и сохраните на свой компьютер. Мы назвали его gbk.sh. Вы можете называть это как угодно.

#!/bin/bash

/usr/bin/rclone copy --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/home/dave/Documents" "google-drive:LinuxDocs"

Вот что означают параметры:

копировать: скопировать файлы с локального компьютера в удаленное хранилище, пропуская файлы, которые уже присутствуют в удаленном хранилище.
–Update: пропускать любые файлы на удаленном хранилище, время изменения которых новее, чем у файла на локальном компьютере.
–Verbose: дает информацию о каждом передаваемом файле.
–Transfers 30: устанавливает количество файлов для параллельного копирования.
–Checkers 8: Сколько «шашек» запускать параллельно. Чекеры отслеживают выполняемые переводы.,
–Contimeout 60s: Тайм-аут соединения. Он устанавливает время, в течение которого rclone будет пытаться установить соединение с удаленным хранилищем.
–Timeout 300 с: Если передача неактивна в течение этого времени, она считается прерванной и отключается.
–Retries 3: Если ошибок так много, все действие копирования будет перезапущено.
–Low-level-retries 10: повторная попытка на низком уровне пытается повторить одну неудачную операцию, например, один HTTP-запрос. Это значение устанавливает ограничение на количество повторных попыток.
–Stats 1s: rclone может предоставить статистику по переданным файлам. Это устанавливает частоту обновления статистики в одну секунду.
«/ Home / dave / Documents»: локальный каталог, который мы собираемся скопировать в удаленное хранилище.
«Google-drive: LinuxDocs»: целевой каталог в удаленном хранилище. Обратите внимание на использование «google-drive», которое является именем, которое мы дали этому удаленному подключению во время последовательности настройки rclone. Также обратите внимание на двоеточие «:», которое используется как разделитель между именем удаленного хранилища и именем каталога. Подкаталоги разделяются обычной косой чертой «/». Если целевой каталог не существует, он будет создан.

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

  Как установить тему Neo-to GTK в Linux

Сделайте скрипт исполняемым с помощью этой команды:

chmod +x gbk.sh

Запуск сценария резервного копирования

Наш сценарий резервного копирования скопирует нашу папку «Документы» на наш Google Диск. В нашей папке Documents у нас есть коллекция нот.

Сбор нот в ~ / Документы в файловом браузере

Мы можем запустить сценарий резервного копирования с помощью этой команды:

./gbk.sh

./gbk.sh в окне терминала

Мы запрашивали обновления статистики каждую секунду (–stats 1s), а также запрашивали подробный вывод (–verbose). Тогда неудивительно, что мы получаем много вывода на экран. Обычно это хороший вариант — включить подробный вывод для новых функций, чтобы выявлять проблемы. Вы можете уменьшить объем вывода, когда будете довольны, что все идет гладко.

вывод rclone в окне терминала

Мы получаем окончательную сводку о том, что 60 файлов были переданы без ошибок. Передача заняла примерно 24 секунды.

Давайте проверим на нашем Google Диске и посмотрим, что произошло в нашем облачном хранилище.

Папка LinuxDocs на Google Диске

Был создан каталог «LinuxDocs», так что это выглядит многообещающим. Если мы дважды щелкнем по нему, чтобы заглянуть внутрь, мы увидим, что все файлы были перенесены на наш Google Диск.

Файлы в

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

Мы можем использовать rclone, чтобы заглянуть в папку на Google Диске, прямо из окна терминала:

rclone ls google-drive:/LinuxDocs

rclone ls google-drive: / LinuxDocs в окне терминала

Вершина айсберга

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

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

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

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