Google Drive est un service de stockage et de partage de fichiers dans le cloud de Google.
L’installation de cet outil sous Windows et MAC est assez simple car le client existe déjà sur le site officiel. Par contre sur Linux l’outil utilisé se nomme Grive2.
Une des particularités de Grive2 est que contrairement aux clients Google Drive qui synchronisent automatiquement le répertoire local et le stockage distant, la synchronisation de Grive2 se fait manuellement. Mais si on s’y connait en tâches cron sur Linux, il est possible d’automatiser soit même la synchronisation.
Dans ce guide, je vous montre comment mettre en place Grive2 sur Debian 10 via une installation par compilation de paquet car il n’existe pas à ce jour, un paque officiel dans le dépôt de Debian ou celui des autres distributions Linux.
Installation
Dépendances
$ sudo apt install git cmake build-essential libgcrypt11-dev libyajl-dev libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev pkg-config zlib1g-dev dpkg-dev
$ sudo dpkg-buildpackage -j4
Télécharger la source Grive2
Nous allons télécharger et compiler Grive2 dans le répertoire personnel de notre utilisateur « /home/user ».
Vous pouvez faire cette manipulation dans le répertoire de votre choix mais pour la démonstration, j’ai choisie de le faire dans le répertoire « /home/user » où user est mon nom d’utilisateur.
$ cd /home/user
$ git clone https://github.com/vitalif/grive2
CMake
$ cd /home/user/grive2/
$ mkdir build
$ cd build
$ cmake ..
- Il n’est pas nécessaire d’exécuter ces commande en ROOT
- Si tout s’est bien passé, vous aurez le message semblable à ceci « – Build files have been written to: /home/user/grive2/build »
Compilation et installation
$ make -j4
Vous aurez le message de fin semblable à ceci « [100%] Built target grive_executable ».
Le fichier exécutable est grive. Nous allons le placer dans le répertoire binaire système (par défaut /usr/local/bin) via la commande suivante :
$ sudo make install
Mise à jour vers la dernière version de Grive2
$ cd /home/user/grive2
$ git pull
$ cd build
$ cmake ..
$ make -j4
$ sudo make install
Utilisation
Première exécution
Le répertoire local qui sera synchronisé sera /google-drive. Par défaut il n’existe pas. Nous allons donc le créer et effectuer la liaison avec le compte Google Drive.
$ mkdir /google-drive
$ cd /google-drive
$ grive -a
La commande grive -a permet de lier le répertoire local avec le compte Google Drive. Il faut l’exécuter une seule fois. Cette commande commande génère une URL permettant d’autoriser l’accès à un compte Google Drive sur notre répertoire local.
Visitez l’URL en question via un navigateur web et copier-coller le token qui sera généré pour finaliser la liaison.
A ce stade, vous être prêt pour la synchronisation.
Synchronisation
La synchronisation se fait via la commande Grive depuis le répertoire local. Pas besoin d’arguments.
$ cd /google-drive
$ grive
Vous pouvez enregistrer les lignes ci-dessus dans un fichier BASH et l’automatiser pour que la synchronisation se fasse automatiquement à intervalle de temps régulier.