На даний момент офіційний клієнт Google Drive для Linux відсутній, проте, використовуючи утиліту rclone, ви можете налаштувати резервне копіювання даних на свій Google Drive безпосередньо через командний рядок. Давайте розглянемо, як це зробити.
Google Диск в операційній системі Linux: де він?
Незважаючи на обіцянки Google про підтримку Linux, оголошені ще в 2012 році, наразі немає жодних ознак появи нативного клієнта Google Drive для цієї платформи. Існують неофіційні рішення від сторонніх розробників, такі як InSync, overGrive, та ODrive. Також деякі файлові менеджери, зокрема Файли в GNOME, пропонують інтеграцію з Google Drive.
Зазначені вище додатки є комерційними продуктами, що вимагають одноразової покупки або підписки. Хоча вони ефективні та відносно недорогі, overGrive навіть пропонує безкоштовну версію з обмеженими можливостями.
Але що робити, якщо ви бажаєте створювати та запускати резервні копії за допомогою командного рядка, або ж інтегрувати цю функцію в ваші скрипти? Це можливо завдяки унікальній програмі під назвою rclone. За допомогою rclone можна здійснювати резервне копіювання, завантаження та синхронізацію файлів з понад сорока різними хмарними сервісами. Це наче rsync, але для хмарних технологій.
Встановлення rclone
Найімовірніше, rclone не буде встановлено на вашому комп’ютері з Linux за замовчуванням. На щастя, існує сценарій встановлення, який працює на будь-якому дистрибутиві. Цей процес установки використовує curl. На комп’ютерах, що використовувалися для написання цієї статті, curl вже був встановлений на Fedora 31 та Manjaro 18.1.0, але його потрібно було інсталювати на 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”.
Для отримання ідентифікатора кореневої папки просто натисніть “Enter”.
У запиті “Облікові дані служби” натисніть “Enter”.
У підказці “Редагувати розширені конфігурації” натисніть “Enter”. У меню “Використовувати автоматичну конфігурацію” введіть “y” і натисніть “Enter”.
Це дозволить rclone підключитися до вашого Google Диска та відкриє браузер для підтвердження дозволу на взаємодію з вашим 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"
Ось що означають параметри:
copy: копіює файли з локального комп’ютера у віддалене сховище, пропускаючи файли, які вже є у віддаленому сховищі.
–update: пропускає файли, які мають новішу дату зміни у віддаленому сховищі, ніж на локальному комп’ютері.
–verbose: надає детальну інформацію про кожен переданий файл.
–transfers 30: встановлює кількість паралельних передач файлів.
–checkers 8: встановлює кількість “перевіряючих” процесів, які контролюють передачі.
–contimeout 60s: час очікування для встановлення з’єднання. Встановлює час, протягом якого rclone буде намагатися з’єднатися з віддаленим сховищем.
–timeout 300s: якщо передача не відбувається протягом цього часу, вона вважається перерваною і відключається.
–retries 3: якщо виникає певна кількість помилок, вся операція копіювання буде перезапущена.
–low-level-retries 10: встановлює кількість повторних спроб низького рівня для однієї невдалої операції, наприклад, HTTP-запиту.
–stats 1s: rclone може показувати статистику переданих файлів. Цей параметр встановлює частоту оновлення статистики в одну секунду.
“/home/dave/Documents”: локальний каталог для копіювання у віддалене сховище.
“google-drive:LinuxDocs”: каталог призначення у віддаленому сховищі. Зверніть увагу на використання “google-drive”, це ім’я нашого віддаленого підключення, задане під час налаштування rclone. Також зверніть увагу на двокрапку “:”, що використовується як роздільник між ім’ям віддаленого сховища та ім’ям каталогу. Підкаталоги розділяються звичайною косою рискою “/”. Якщо каталог призначення не існує, він буде створений автоматично.
Деякі з цих значень є стандартними, але ми їх включили, щоб ви могли їх налаштувати при необхідності.
Зробіть скрипт виконуваним за допомогою цієї команди:
chmod +x gbk.sh
Запуск сценарію резервного копіювання
Наш скрипт резервного копіювання скопіює папку “Документи” на Google Диск. У нашій папці “Документи” є колекція нотаток.
Запустіть скрипт резервного копіювання за допомогою цієї команди:
./gbk.sh
Ми встановили оновлення статистики кожну секунду (–stats 1s) і включили детальний вивід (–verbose). Тому, не дивно, що ми отримуємо багато інформації. Зазвичай це корисна опція для нової функціональності, щоб можна було помітити проблеми. Згодом ви можете зменшити обсяг виведеної інформації, коли будете впевнені, що все працює належним чином.
В кінці з’явиться підсумок, який показує, що 60 файлів передано без помилок. Передача зайняла приблизно 24 секунди.
Давайте перевіримо Google Диск і подивимося, що сталося в нашому хмарному сховищі.
Створено каталог “LinuxDocs”, що вже є гарним знаком. Зайшовши в цей каталог, ми побачимо, що всі файли скопійовано на наш Google Диск.
Використання rclone для перегляду файлів на Google Диску
За допомогою rclone ви можете переглядати вміст папки на Google Диску безпосередньо з терміналу:
rclone ls google-drive:/LinuxDocs
Верхівка айсберга
Дуже зручно мати можливість виконувати копіювання безпосередньо з командного рядка. Це дозволяє інтегрувати використання хмарного сховища у скрипти і запланувати автоматичне резервне копіювання за допомогою cron.
rclone має величезну кількість команд, тому радимо вам ознайомитися з їхньою документацією та вебсайтом. Ми тільки розпочали використовувати цей інструмент, але вже зараз ви можете побачити, що трохи часу, витраченого на вивчення rclone, принесе вам велику користь.
Варто зазначити, що цей метод не є повноцінним резервним копіюванням. Це лише копія ваших файлів і даних за межами вашого комп’ютера. Такий підхід є корисним, але не пропонує керування версіями чи інші функції, які є в спеціалізованих рішеннях для резервного копіювання.
Тому, використовуйте rclone в поєднанні з іншими методами резервного копіювання. rclone – це простий спосіб зберігати дані в безпечному місці, віддаленому від вашого дому чи офісу. І це добре!