- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

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

2. Входим в свой google accaunt. Переходим на страницу https://code.google.com/apis/console/ [5] и создаем Новый проект в верхнем левом углу (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

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/196311

Ссылки в тексте:

[1] VPS: https://www.reg.ru/?rlink=reflink-717

[2] Backing up a Directory to Google Drive on CentOS 7: https://timothy-quinn.com/backing-up-linux-server-files-to-google-drive/

[3] Headless Usage & Authorization: https://github.com/astrada/google-drive-ocamlfuse/wiki/Headless-Usage-%26-Authorization

[4] google-drive-ocamlfuse: https://github.com/astrada/google-drive-ocamlfuse/wiki/Installation

[5] https://code.google.com/apis/console/: https://code.google.com/apis/console/

[6] Источник: https://habrahabr.ru/post/311890/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox