Google Диск в качестве резервного хранилища для VPS сервера на базе Linux

в 9:02, , рубрики: backup, google drive, linux, хранение данных, хранилища данных

Пришла идея делать backup сервера VPS на CentOS 7 в Google drive, не пропадать же зря 15 гигам халявного места. Немного поискал и нашел пару статей на эту тему, тема оказалась не нова, и сначала поставил утилиту от самой корпорации добра, вот статья на эту тему Backing up a Directory to Google Drive on CentOS 7.

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

Утилита от Google умеет только закачивать и скачивать файлы, проверить по дате и удалить все старше 3х дней не получилось.

Спасение нашлось в google-drive-ocamlfuse, статей на эту тему не мало, но есть одно, но, утилита требует GUI интерфейс, а в частности любой браузер. В браузер передается с генерированная ссылка.

Google как известно авторизует пользователей по OAuth. В моем VPS естественно не о каком GUI речь не идет, только консоль.

На помощь пришла статья с github Headless Usage & Authorization. Предлагаю вам мой вольный перевод.

1. Устанавливаем по инструкции google-drive-ocamlfuse

2. Входим в свой google accaunt. Переходим на страницу https://code.google.com/apis/console/ и создаем Новый проект в верхнем левом углу (Project → Create project).

3. В левой панельке ищем Библиотеки-Drive API (Library → Drive API) и включаем её (Enable).

4. Дальше переходим на Учетные данные (Credentials). Создаем нового пользователя Create credentials → OAuth client ID. Выбираем Other в предложенных вариантах. Получаем ID и секретный ключ.

5. Возвращаемся в консоль и пишем:

google-drive-ocamlfuse -headless -label me -id ##yourClientID##.apps.googleusercontent.com -secret ###yoursecret#####

6. Получаем сообщение в котором есть ссылка:

Please, open the following URL in a web browser: https://accounts.google.com/o/oauth2/auth?client_id=##yourClientID##.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&response_type=code&access_type=offline&approval_prompt=force

Копируем ссылку в браузер и получаем код верификации.

7. Копируем полученный код верификации и вставляем его обратно:

Please enter the verification code: hfal8as8dyv7f79asdf7g7gd7s9d7fy7dfy7dgfydb

8. Вот и все.

После этого будет создана папка с приложением (~/.gdfuse/me/), его мы и будем использовать для монтирование нашего диска. Монтируем в папку:

mkdir /my_mnt_dir
./google-drive-ocamlfuse -label me /my_mnt_dir

Размонтируем папку:

fusermount -u mountpoint

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

Автор: xelaxela

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js