Notebookcheck Logo
Сторонняя поддержка синхронизации Linux с основными поставщиками облачных хранилищ отсутствует. Однако есть варианты (Источник изображения: Rclone)

Руководство: Синхронизируйте Unraid или Ваш дистрибутив Linux с Google Drive

CheckMag

Благодаря Valve и Proton, Linux становится гораздо более жизнеспособной платформой для работы и развлечений, но поддержка синхронизации распространенных облачных сервисов, таких как OneDrive и Google Drive, от первого лица не существует, и в отличие от TruNAS и Synology эта функция не встроена. Однако есть надежное и относительно простое решение. Вот как это работает.
David Devey, 👁 David Devey (перевод Ninh Duy) Опубликовано 🇺🇸 🇫🇷 ...
DIY Руководства и инструкции Linux / Unix NAS Open Source что мы думаем про

Все началось с попытки найти способ синхронизировать Unraid с Google Drive. Перейдя с Synology(продается на Amazon.com) на TrueNAS (оба устройства имеют встроенную реализацию для синхронизации дисков непосредственно с Google Drive), я понял, что этой функции очень не хватает в Unraid. Reddit - наводнен с аналогичными вопросами с множеством потенциальных решений, однако общее решение часто оказывается лучшим (даже если оно не так просто), и это конкретное решение также работает с любым дистрибутивом Linux, а не только с Unraid.

Одним из ключевых критериев моего решения было сохранение читаемых файлов на Google Диске в отличие от зашифрованной резервной копии. Хотя это решение не является решением для резервного копирования как такового, удобство чтения файлов непосредственно из Google Drive было очень привлекательным. Таким образом, MSP360 (бывший CloudBerry), Duplicati и Duplicacy как варианты, однако одно название, которое постоянно появлялось в различных темах, было Rclone.

Пользователи называют Rclone "швейцарским армейским ножом для облачных хранилищ", и на это есть веские причины. Он поддерживает монтирование почти всех облачных хранилищ, о которых Вы только можете подумать, и предлагает ряд команд копирования и синхронизации для зеркального отображения изменений между дисками или одностороннего резервного копирования. Несмотря на наличие встроенного плагина Unraid, Rclone можно установить практически на любой дистрибутив Linux. В этом руководстве мы рассмотрим Ubuntu, но процесс монтирования облачных дисков и синхронизации или копирования файлов практически идентичен независимо от выбранной системы. Он в основном управляется с помощью командной строки, но, несмотря на мои первоначальные опасения, это, безусловно, самое надежное решение, которое я нашел. После настройки Вы можете забыть об этом, и Rclone с радостью будет синхронизировать или копировать Ваши файлы по расписанию.

Установка

Чтобы установить Rclone, откройте окно терминала и введите:

sudo apt-get install rclone

Возможно, Вам потребуется скорректировать команду в зависимости от Вашего дистрибутива.

После установки введите:

rclone config

Это запустит интерактивную программу установки, и Вам следует выбрать"New Remote". Введите имя для Вашего удаленного соединения, оно может быть любым, но в идеале должно отражать выбранного Вами провайдера - в данном случае"Google". После того, как Вы выбрали имя, у Вас должно появиться некоторое представление о том, сколько облачных провайдеров поддерживает Rclone.

Rclone поддерживает гораздо больше поставщиков услуг хранения, чем может поместиться в окне терминала (Источник изображения: Notebookcheck)
Rclone поддерживает гораздо больше поставщиков услуг хранения, чем может поместиться в окне терминала (Источник изображения: Notebookcheck)

Введите"18", чтобы выбрать Google Drive в качестве провайдера. После этого Вам будет предложено ввести идентификатор клиента. На этом этапе пришло время перейти на Google API Console чтобы создать приложение, которое позволит Rclone получить доступ к Вашему Google Drive.

Создание Google API для предоставления Rclone доступа к Drive

Инструкции https://rclone.org/drive/#making-your-own-client-id на сайте Rclone приведены довольно полные инструкции, однако, когда Вас просят"Добавить области", что можно найти в разделе"Доступ к данным","Добавить или удалить области", может возникнуть некоторая путаница.

Инструкции по API, созданные Rclone, очень полны, однако добавление "Scopes" не сразу очевидно (Источник изображения: Notebookcheck)
Инструкции по API, созданные Rclone, очень полны, однако добавление "Scopes" не сразу очевидно (Источник изображения: Notebookcheck)

Вы можете добавить все диапазоны по одному или все сразу, вставив следующее в поле"Ручное добавление диапазонов":

www.googleapis.com/auth/docs,
www.googleapis.com/auth/drive
,
www.googleapis.com/auth/drive.metadata.readonly

Далее инструкции немного отличаются от тех, что мы видим в Google API, поэтому нажмите"Клиенты" на левой стороне и создайте"Desktop App" под названием "Rclone" или любым другим. Запишите ID клиента, а секрет клиента можно получить, щелкнув на имени клиента.

Как только Вы их получите, нажмите"Аудитория" на левой стороне и опубликуйте свое приложение. Технически, Google требует, чтобы Вы проверили свое приложение, что может занять время. Однако Вы можете начать использовать его без проверки. Вы можете оставить его в"Тестировании" и не публиковать, но тогда Вам придется еженедельно обновлять все гранты, что не очень практично. Теперь, когда у нас есть ID клиента и его секрет, Вы можете вернуться в окно терминала и ввести эти данные.

Выберите"1" в качестве области действия, чтобы разрешить полный доступ ко всем файлам, и можете оставить следующий раздел"Option service_account file" пустым. Выберите"Нет" для расширенной конфигурации и"Да" для использования автоматической конфигурации. Это полезно, поскольку откроется браузер, позволяющий Вам аутентифицировать Rclone с помощью аккаунта Google. Самый простой способ сделать это на Unraid при настройке машины - подключить монитор и использовать режим GUI при начальной настройке, но Вы можете сделать это и на безголовой машине, выбрав"Нет" - обратите внимание, что этот процесс несколько сложнее.

Наш Google Drive не является общим диском, поэтому на следующем шаге мы можем нажать"Нет", после чего Вам нужно будет просто подтвердить, чтобы сохранить соединение.

Если предположить, что Вы не безголовый, Rclone откроет браузер и предложит Вам войти в систему и предоставить разрешения (Источник изображен
Если предположить, что Вы не безголовый, Rclone откроет браузер и предложит Вам войти в систему и предоставить разрешения (Источник изображения: Notebookcheck)

Монтируем наш Google Диск

После этого нам нужно создать место для монтирования диска. Создайте папку, в которую будет монтироваться Ваш диск, набрав:

mkdir -p ~/gdrive

Затем смонтируйте диск в это место, набрав:

rclone mount google: ~/gdrive

Теперь Вы можете перетаскивать любые нужные Вам файлы в эту папку, и они автоматически появятся в Вашем Google Диске. Аналогичным образом, все файлы, которые Вы создадите или добавите в веб-версию Google Drive, также появятся в этой папке.

После правильного монтирования любые изменения, которые Вы внесете в смонтированную папку, будут отражены в Вашем Google Диске, и наоборот (Ис
После правильного монтирования любые изменения, которые Вы внесете в смонтированную папку, будут отражены в Вашем Google Диске, и наоборот (Источник изображения: Notebookcheck)

Теперь, когда Вы смогли смонтировать свой Google Drive, пришло время добавить его в crontab, чтобы он смог пережить перезагрузку. Мы также можем использовать crontab для планирования копирования или синхронизации с Вашим Google Drive.

Переживите перезагрузку и запланируйте синхронизацию

Чтобы отредактировать crontab, введите crontab -e и выберите"nano" в качестве редактора. Как только Вы окажетесь в crontab, вставьте следующее:

@reboot rclone mount google: /home/YOURUSERNAME/gdrive

В файле crontab Вы также можете запланировать выполнение команд копирования или синхронизации между папками и Вашим Google Drive в определенные дни или недели.

Полный список команд Rclone можно найти на сайте здесьно основные из них включают:

  • "copy" - копирование любых файлов из одной директории в другую, пропуская файлы, которые не содержат изменений или уже существуют.
  • "sync" - сделает исходный и конечный файлы одинаковыми, изменив только конечный.
  • "bisync" - выполнит двунаправленную синхронизацию между двумя путями.

Вы можете встроить команды синхронизации или копирования в Ваш файл crontab. Используйте Crontab Guru для расчета частоты и копирования и вставки каталогов, которые Вы хотите синхронизировать.

*/5 * * * * * rclone copy /home/YOURUSERNAME/Documents google:Documents

Таким образом, приведенный выше cron будет копировать содержимое папки Documents в папку Documents на Вашем Google Диске каждые 5 минут. Вы можете добавить столько заданий, сколько захотите, с разной частотой и папками.

Файл crontab позволит Вам добавить любое количество команд для синхронизации каталогов с Вашим Google Drive (Источник изображения: Notebookcheck)
Файл crontab позволит Вам добавить любое количество команд для синхронизации каталогов с Вашим Google Drive (Источник изображения: Notebookcheck)

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

Rclone поддерживает множество провайдеров облачных хранилищ и имеет гораздо больше команд и вариантов использования, которые здесь не рассматриваются, независимо от того, являетесь ли Вы пользователем Unraid, использующим плагин Unraidили пользователь Linux, просто желающий синхронизировать или создать резервную копию определенных каталогов на Вашем Linux-боксе, Rclone действительно является "швейцарским армейским ножом для облачных хранилищ".

Источник(и)

Этот важный материал точно понравится твоим друзьям в социальных сетях!
Mail Logo
David Devey, 2025-03- 7 (Update: 2025-03- 7)