Официального клиента 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
После установки curl установите rclone с помощью этой команды:
curl https://rclone.org/install.sh | sudo bash
Когда установка rclone будет завершена, вы увидите сообщение об успешном завершении.
Программа rclone установлена на вашем компьютере с Linux. Следующим шагом является выполнение процесса установки и аутентификация rclone для доступа к вашему Google Диску.
Создание удаленного подключения rclone
Подключения к удаленным облачным сервисам в мире rclone называются «удаленными». Нам нужно создать его для Google Диска. Запустите процесс настройки rclone с помощью этой команды:
rclone config
В процессе настройки возникает много вопросов. Но не отчаивайтесь, для многих из них можно оставить значения по умолчанию и просто принять их, нажав «Enter».
rclone сообщает нам, что пульты дистанционного управления не настроены. Нажмите «n» и нажмите «Enter», чтобы создать новый пульт. Вам будет предложено ввести имя. Мы собираемся называть это «Google-диск». Используйте любое имя, которое вам нравится.
Длинное меню позволяет вам выбрать тип хранилища, к которому вы создаете удаленное соединение.
Прокрутите список, пока не увидите запись для Google Диска, и запишите ее номер.
Мы видим, что в данном случае это номер 13. Введите это как тип хранилища и нажмите «Enter».
Вам будет предложено ввести идентификатор клиента приложения Google. Нажмите «Enter», чтобы принять значение по умолчанию.
Затем вам будет предложено ввести секрет клиента приложения Google.
Опять же, просто нажмите «Enter». Вас попросят указать область действия rclone, когда он работает на вашем Google Диске. Нажмите «1», а затем нажмите «Enter».
Для «ID корневой папки» просто нажмите «Enter».
При появлении запроса «Учетные данные учетной записи службы» нажмите «Ввод».
При появлении запроса «Изменить расширенную конфигурацию» просто нажмите «Enter». В меню «Использовать автоконфигурацию» нажмите «y», а затем нажмите «Enter».
Это заставляет rclone связываться с вашим Google Диском и запускать ваш браузер, чтобы вы могли разрешить rclone взаимодействовать с вашим Google Диском.
В окне браузера щелкните учетную запись Google, которую хотите использовать.
Нажмите кнопку «Разрешить», чтобы позволить rclone иметь доступ к вашему Google Диску.
Когда аутентификация будет завершена, вы увидите сообщение «Успешно!» сообщение в окне браузера. Вы можете закрыть браузер и вернуться в окно терминала.
В ответ на запрос «Настроить это как общий диск» введите «n» и нажмите «Enter».
В меню «Да, изменить, удалить» введите «y» и нажмите «Enter».
В последнем меню введите «q» и нажмите «Enter».
Сценарий резервного копирования rclone
Приложение rclone очень многофункционально. Это здорово, но это значит есть много вариантов. Команда, которую мы рассмотрим ниже, копирует файлы с вашего локального компьютера на ваш Google Диск. Это односторонняя копия в облако; это не двусторонняя синхронизация между вашим Google Диском и вашим локальным компьютером, хотя rclone может это сделать. Мы используем это как базовую форму резервного копирования вне офиса.
Введите (или скопируйте и вставьте) это в текстовый редактор и сохраните на свой компьютер. Мы назвали его 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. Также обратите внимание на двоеточие «:», которое используется как разделитель между именем удаленного хранилища и именем каталога. Подкаталоги разделяются обычной косой чертой «/». Если целевой каталог не существует, он будет создан.
Некоторые из этих значений являются значениями по умолчанию, но мы включили их сюда, чтобы мы могли их обсудить. Таким образом, если вам нужно изменить значение, вы будете знать, какой параметр нужно настроить.
Сделайте скрипт исполняемым с помощью этой команды:
chmod +x gbk.sh
Запуск сценария резервного копирования
Наш сценарий резервного копирования скопирует нашу папку «Документы» на наш Google Диск. В нашей папке Documents у нас есть коллекция нот.
Мы можем запустить сценарий резервного копирования с помощью этой команды:
./gbk.sh
Мы запрашивали обновления статистики каждую секунду (–stats 1s), а также запрашивали подробный вывод (–verbose). Тогда неудивительно, что мы получаем много вывода на экран. Обычно это хороший вариант — включить подробный вывод для новых функций, чтобы выявлять проблемы. Вы можете уменьшить объем вывода, когда будете довольны, что все идет гладко.
Мы получаем окончательную сводку о том, что 60 файлов были переданы без ошибок. Передача заняла примерно 24 секунды.
Давайте проверим на нашем Google Диске и посмотрим, что произошло в нашем облачном хранилище.
Был создан каталог «LinuxDocs», так что это выглядит многообещающим. Если мы дважды щелкнем по нему, чтобы заглянуть внутрь, мы увидим, что все файлы были перенесены на наш Google Диск.
Использование rclone для просмотра файлов на Google Диске
Мы можем использовать rclone, чтобы заглянуть в папку на Google Диске, прямо из окна терминала:
rclone ls google-drive:/LinuxDocs
Вершина айсберга
Замечательно, что мы можем выполнять такое копирование прямо из командной строки. Мы можем включить использование нашего облачного хранилища в сценарии и можем запланировать выполнение сценариев резервного копирования с помощью cron.
rclone имеет огромное количество команд, вам рекомендуется посмотрите их документацию и отличный веб-сайт. Здесь мы почти не коснулись поверхности, и небольшое чтение и игра с rclone многократно окупят ваши усилия.
Строго говоря, это не настоящая резервная копия. Это удаленная удаленная копия ваших файлов и данных, которую, безусловно, хорошо иметь, но это всего лишь копия файлов. Он не предлагает управление версиями или другие функции, которые могут предложить настоящие решения для резервного копирования.
Поэтому используйте rclone вместе с другими методами резервного копирования. В качестве дополнительного уровня к существующему режиму резервного копирования rclone — это простой способ сохранить ваши данные в месте, которое географически удалено от вашего дома или офиса. И это должно быть хорошо.