Монтируем Google Drive диск через gdfs на Ubuntu 17.04
Я использую Google Drive для хранения бэкапов на некоторых своих серверах, но можно выдумать множество сценариев использования этого облачного хранилища.
Для этого нам необходимо будет установить клиентскую библиотеку для работы с API Google, драйвер gdfs, получить код авторизации и настроить автоматическое монтирование при загрузке сервера.
Установка Google API клиента
Клиент нужен для авторизации gdfs
sudo apt install -y python-pip git clone cd google-api-python-client sudo python setup.py install install_egg_info
Установка Google Drive FS
Установим gdrivefs и сделаем симлинк для удобства
sudo pip install gdrivefs cd /sbin sudo ln -s `which gdfs` mount.gdfs
Настройка
Надо пройти авторизацию для Google API Client и создать каталог для монтирования диска
gdfstool auth -u # Откройте ссылку в вашем браузере, пройдите авторизацию # и скопируйте полученный ключ как <code> gdfstool auth -a /var/.gdfs.creds "<code>" mkdir /mnt/gdrivefs
Монтирование через /etc/fstab
Вы можете добавить следующую запись в /etc/fstab
echo "/var/.gdfs.creds /mnt/gdrivefs gdfs allow_other,big_writes 0 0" >> /etc/fstab mount /mnt/gdrivefs
Но монтирование происходит до сетевого подключения сервера, а без сети вы не сможете подключить Google Drive, так что после перезагрузки сервера у вас возникнут проблемы с монтированием. Можете добавить опцию _netdev:
echo "/var/.gdfs.creds /mnt/gdrivefs gdfs allow_other,big_writes,_netdev 0 0" >> /etc/fstab mount /mnt/gdrivefs
Но у меня не получилось использовать эту опцию:
fuse: unknown option `_netdev'
Монтирование через /etc/network/interfaces
Я монтирую диск следующим способом
echo "post-up /bin/mount /var/.gdfs.creds /mnt/gdrivefs -t gdfs -o allow_other,big_writes" >> /etc/network/interfaces
После перезагрузки сервера у вас запустится post-up и смонтирует диск.
Проверяем
Смонтируем вручную и посмотрим файлы:
mount /var/.gdfs.creds /mnt/gdrivefs -t gdfs -o allow_other,big_writes ls -la /mnt/gdrivefs
Рекомендую перезагрузится и проверить что все работает.
In English
Комментарии
Ну есть же шикарная тулза - https://rclone.org/
Можно конечно и костыли пилить постоянно, но все же зачем?
@dengolius спасибо, не знал про эту утилиту. Ротейт файлов есть? Ну и мне удобнее примонтировать и работать как с фс, чем оперировать командами этой утилиты.
Там конечно написано что есть "mount", но с пометкой "EXPERIMENTAL" и даже если работает, то надо будет проделать все тоже самое что и в моей статье, кроме интстала gdfs
Я использую davfs2 (WebDAV), тоже неплох.
Hey I would like some help getting this to work. My first error I have ran into is the command "sudo ln -s" and this is the error that comes from it. ln: missing file operand.
"Вход с аккаунтом Google временно заблокирован для этого приложения
В приложение нельзя войти, используя аккаунт Google, так как оно ещё не прошло нашу проверку."
у альтернатив, которые тут упоминали - нет таких проблем?
Оставьте свой комментарий