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

Gdfuse Featured Image

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

adding gdfuse 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

installing gdfuse

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

mkdir -p ~/mount/google-drive

creating mount point to store backup files to google drive

Затем смонтируйте хранилище диска с помощью следующей команды:

google-drive-ocamlfuse ~/mount/google-drive

mounting google drive

google-drive-ocamlfuse откроет ваш браузер по умолчанию и перенаправит на страницу аутентификации аккаунта Google Диск. Выберите аккаунт, который хотите смонтировать локально.

selecting drive account

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

authenticating google account

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

allowing gdfuse access to store backup files to google drive

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

allowing account access

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

completed mount

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

ls -l ~/mount/google-drive/

checking mount status

Вывод должен показать список файлов и каталогов, присутствующих в вашем хранилище Google Диск. Если все пойдет по плану, мы можем продолжить настройку планировщика резервного копирования.

Также читайте: Почему следует использовать Timeshift для резервного копирования вашего компьютера

Резервное копирование файлов на Google Диск с помощью CRON

Резервная копия - это ничто иное, как операция копирования. Поскольку наш Google Диск уже смонтирован, мы можем копировать файлы на него как часть локальной файловой системы. Вы можете проверить это, выполнив следующую команду:

touch test-file  
cp test-file ~/mount/google-drive/

Это должно скопировать тестовый файл в ваше хранилище диска. Используйте команду ls, чтобы проверить, был ли он успешно скопирован на Google Диск.

ls ~/mount/google-drive/

testing backup files to google drive using gdfuse

Теперь, когда все на месте, настройте 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 и добавить приведенные выше строки.

crontab entries for storing backup files to google drive

Заключение

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

Совет: Используйте эти сочетания клавиш Google Диска, чтобы ускорить вашу рутину.