Как сделать резервное копирование файлов на Google Диск в Linux

Google Диск - отличное средство для людей, которым необходимо хранить онлайн-копии своих файлов. Пользователи Linux могут воспользоваться его бесплатным планом на 15 ГБ для резервного копирования необходимых файлов конфигурации. Кроме того, если у вас есть активный план Google Workspace (ранее G-Suite), вы можете сделать резервное копирование большого объема данных, включая медиафайлы. В этом руководстве мы покажем, как автоматически делать резервное копирование файлов на Google Диск в Linux с помощью пакета с открытым исходным кодом google-drive-ocamlfuse и CRON.
Также читайте: Как проверить, сколько места на Google Диске у вас осталось
Что такое google-drive-ocamlfuse?
google-drive-ocamlfuse - это файловая система FUSE, которая позволяет пользователям монтировать хранилище Google Диска на локальном компьютере. Она написана на OCaml и свободно доступна через GitHub. Некоторые из её основных функций включают полный доступ на чтение/запись, поддержку нескольких аккаунтов, разрешения Unix и поддержку Team Drive.
Как использовать его для автоматических резервных копий?
Первый шаг - смонтировать удаленный Google Диск на локальную файловую систему. Здесь и начинает играть свою роль google-drive-ocamlfuse. Затем мы можем использовать планировщик для периодической передачи файлов на диск. Чтобы все было просто, мы используем утилиту CRON в Linux для управления процессом планирования. (Вы также можете использовать Zeit для планирования заданий cron.)
Также читайте: 4 способа клонировать целый жесткий диск на Linux
Установка и настройка google-drive-ocamlfuse
Сначала нам нужно установить google-drive-ocamlfuse на наш компьютер с Linux. К счастью, это очень просто. Откройте терминал и введите следующую команду:
sudo add-apt-repository ppa:alessandro-strada/ppa
Это добавит необходимый пакет в список репозиториев вашего пакетного менеджера. Вы можете продолжить и установить пакет с помощью следующих команд.
# Debian/Ubuntu
sudo apt update && sudo apt install google-drive-ocamlfuse
# Fedora
sudo dnf copr enable sergiomb/google-drive-ocamlfuse
sudo dnf install google-drive-ocamlfuse
# Arch
yay -S google-drive-ocamlfuse
Подождите, пока установка не завершится. После этого необходимо настроить его для монтирования. Первый шаг для этого - создать точку монтирования для Google Диска в вашей локальной файловой системе. Вы можете сделать это, введя следующую команду в терминале.
mkdir -p ~/mount/google-drive
Затем смонтируйте хранилище диска с помощью следующей команды:
google-drive-ocamlfuse ~/mount/google-drive
google-drive-ocamlfuse откроет ваш браузер по умолчанию и перенаправит на страницу аутентификации аккаунта Google Диск. Выберите аккаунт, который хотите смонтировать локально.

Введите пароль для выбранного аккаунта, чтобы подтвердить свою личность.

Затем Google запросит разрешение на доступ к google-drive-ocamlfuse. Нажмите «Разрешить» и продолжите на следующую страницу.

Вас попросят еще раз разрешить доступ к вашему пользовательскому аккаунту.

Как только вы дадите разрешение, вас перенаправят на веб-страницу google-drive-ocamlfuse. Поздравляем, вы успешно смонтировали свой аккаунт Google Диск в локальной файловой системе.

Теперь хорошее время, чтобы проверить, прошел ли процесс монтирования Google Диска успешно или нет. Если на этом этапе возникнет ошибка, вы не сможете использовать его для резервного копирования файлов на Google Диск. Используйте приведенную ниже команду, чтобы проверить это.
ls -l ~/mount/google-drive/
Вывод должен показать список файлов и каталогов, присутствующих в вашем хранилище Google Диск. Если все пойдет по плану, мы можем продолжить настройку планировщика резервного копирования.
Также читайте: Почему следует использовать Timeshift для резервного копирования вашего компьютера
Резервное копирование файлов на Google Диск с помощью CRON
Резервная копия - это ничто иное, как операция копирования. Поскольку наш Google Диск уже смонтирован, мы можем копировать файлы на него как часть локальной файловой системы. Вы можете проверить это, выполнив следующую команду:
touch test-file
cp test-file ~/mount/google-drive/Это должно скопировать тестовый файл в ваше хранилище диска. Используйте команду ls, чтобы проверить, был ли он успешно скопирован на Google Диск.
ls ~/mount/google-drive/
Теперь, когда все на месте, настройте cron для автоматизации процесса резервного копирования. Если вы еще не знаете, cron - это планировщик, который позволяет пользователям запускать определенные команды периодически. Мы можем указать, какие команды следует выполнять и когда их запускать, используя crontab. Вы можете узнать больше об этом здесь.
Мы используем следующую запись в crontab для копирования содержимого нашей папки “/tmp” на Google Диск в 00:00 ежедневно.
00 * * * * cp /tmp/* ~/mount/google-drive/Если вы хотите делать резервное копирование ваших файлов раз в неделю, используйте следующую запись в crontab.
00 0 * * 0 cp /tmp/* ~/mount/google-drive/Это скопирует содержимое “/tmp” в ваше хранилище диска в 00:00 каждое воскресенье. Замените “/tmp” на каталог, содержащий ваши личные файлы. Однако есть один последний шаг. Ни одна из приведенных выше записей в crontab не монтирует Google Диск автоматически. Одно быстрое решение - смонтировать хранилище диска с помощью другой записи в crontab, а затем следовать за ней записью для резервного копирования.
55 23 * * * google-drive-ocamlfuse ~/mount/google-drive
00 0 * * 0 cp /tmp/* ~/mount/google-drive/Как видите, мы монтируем диск за пять минут до этого. Это дает cron достаточно времени, чтобы убедиться, что он не пропустит процесс резервного копирования из-за проблем с инициализацией. Используйте приведенную ниже команду, чтобы отредактировать crontab и добавить приведенные выше строки.

Заключение
Мы представили простой способ резервного копирования файлов на Google Диск с помощью google-drive-ocamlfuse и cron. В качестве альтернативы, если вы используете Gnome, вы также можете легко подключить Google к своему рабочему столу и смонтировать Google Диск на вашей системе. Вы также можете ознакомиться с другими альтернативами Cron или использовать таймеры systemd в качестве замены cron.
Совет: Используйте эти сочетания клавиш Google Диска, чтобы ускорить вашу рутину.