GNU/Linux >> Tutoriels Linux >  >> Debian

Cli Google Drive Client Grive2 :Comment activer la synchronisation automatique

Grive2, un client Google Drive en ligne de commande gratuit et open source pour Linux qui prend en charge la synchronisation partielle, est très populaire auprès des utilisateurs de Linux, mais beaucoup ne savent probablement pas que l'outil est une solution intégrée pour synchroniser automatiquement Google Drive - Fichiers avec un dossier local.

La page du projet Grive2 GitHub a été récemment mise à jour et contient des instructions pour l'activation d'une solution de synchronisation automatique :Synchronisation planifiée (vérifiez les modifications sur Google Drive toutes les 5 minutes et synchronisez les modifications localement) et synchronisez les événements de modification de fichiers locaux (téléchargez automatiquement les fichiers nouveaux et modifiés à partir du système de fichiers local dès qu'ils se produisent) avec Google Drive en utilisant innotify avec systemd -Units.

Les unités systemd et un script de synchronisation sont disponibles directement dans le référentiel Grive2 et sont automatiquement installés lors de l'installation de l'application. Ils ne sont pas nouveaux (bien qu'il y ait eu un correctif récent pour gérer les répertoires avec des espaces dans leurs noms) mais cela n'a pas été mentionné sur la page du projet jusqu'à récemment, donc de nombreux utilisateurs l'ont peut-être oublié.

Grâce à cette fonctionnalité, Grive2 peut offrir une expérience proche de celle du client Google Drive officiel (uniquement du point de vue de la synchronisation car il n'y a pas d'intégration de gestionnaire de fichiers, etc.).

Cependant, la synchronisation automatique de Grive2 n'est pas parfaite (mais elle devrait être suffisante pour la plupart des utilisateurs) . Grâce à inotify (utilisé via un script bash), les modifications de fichiers locaux sont immédiatement téléchargées sur Google Drive, mais les fichiers modifiés sur Google Drive ne sont pas immédiatement téléchargés sur le système de fichiers local car Grive2 ne peut pas détecter automatiquement les changements sur Google Drive. Pour contourner ce problème, Grive2 utilise un dispositif de minuterie systemd pour vérifier les modifications à distance (réglé sur 5 minutes par défaut).

La page d'accueil du wiki Grive2 mentionnait qu'un mode démon pourrait être implémenté à l'avenir pour éviter d'exécuter Grive2 plusieurs fois pour synchroniser les fichiers.

Fonctions de Grive 2

Grive2 est un fork du client original Grive Google Drive pour Linux. Le projet d'origine a été abandonné, mais Vitaliy Filippov l'a séparé sous le nom de Grive2 et a ajouté la prise en charge de l'API Drive REST, la prise en charge de la synchronisation partielle, entre autres.

Les fonctions de Grive 2 incluent :

  • Synchroniser des fichiers depuis/vers Google Drive et un dossier sur le système de fichiers local à partir de la ligne de commande
  • Prise en charge partielle/sélective :vous pouvez exclure certains fichiers et dossiers de la synchronisation en les ajoutant au .griveignore Dossier. Vous pouvez également synchroniser uniquement un sous-répertoire grive -s subdir
  • --no-remote-new (télécharger uniquement les fichiers qui ont été modifiés dans Google Drive et qui sont déjà disponibles localement) et --upload-only Modes (ne téléchargez rien depuis Google Drive, téléchargez uniquement les modifications locales)
  • Créer de nouvelles révisions sur le serveur pour les fichiers mis à jour
  • Détection automatique de relocalisation/renommage
  • Synchroniser les fichiers partagés (mais vous devez les ajouter explicitement à votre Google Drive à l'aide de l'interface Web)
  • Facultatif, limitez la vitesse de chargement ou de téléchargement
  • Afficher éventuellement une barre de progression ASCII lors du chargement ou du téléchargement de fichiers
  • Authentification Auth2


Pour voir tout ce qu'il a à offrir, lancez man grive après l'installation.

L'application ne prend pas en charge les documents Google ou les liens symboliques. Il ne prend pas non plus en charge la synchronisation automatique directe (attente continue des modifications dans le système de fichiers ou Google Drive et téléchargement automatique des modifications), mais cela est disponible grâce au script intify et aux unités systemd fournies avec Grive 2 que j'ai mentionné dans eu le début de l'article.

Installez Grive2 et activez la synchronisation automatique des fichiers Google Drive avec un dossier local

Des informations sur l'installation de Grive2 sont disponibles sur la page d'installation. Assurez-vous de télécharger le dernier code git et non la dernière version car cette dernière est assez ancienne.

Les instructions incluent des étapes pour créer vous-même un package Debian (que vous pouvez utiliser sur Debian, Ubuntu, Linux Mint, OS élémentaire et d'autres distributions Linux basées sur DEB / Apt) bien que Vous pouvez également télécharger les binaires Grive2 DEB pour Ubuntu ou Linux Mint d'ici (Vous pouvez également ajouter le PPA si vous souhaitez des mises à jour automatiques). Même si le fork s'appelle Grive2, le fichier binaire s'appelle toujours grive , comme l'ancien projet non entretenu. Assurez-vous de télécharger la dernière version de Grive2 pour votre version d'Ubuntu (vous pouvez regarder la date pour voir laquelle est la plus récente).

Maintenant que Grive2 est installé, nous pouvons l'utiliser pour synchroniser vos fichiers Google Drive avec un répertoire local et activer les synchronisations planifiées et les fonctionnalités pour synchroniser les fichiers lorsque des modifications sont apportées.

1. Créez un dossier dans votre répertoire personnel où nous synchroniserons les fichiers Google Drive.

Le dossier Google Drive local DOIT être créé dans le répertoire personnel de votre utilisateur, sinon les scripts de synchronisation automatique ne fonctionneront pas. Je vous suggère de créer un dossier appelé GoogleDrive dans votre répertoire personnel, soit avec un gestionnaire de fichiers, soit en saisissant cette commande :

mkdir ~/GoogleDrive

L'article suppose que vous l'avez utilisé à partir de maintenant. Assurez-vous donc de modifier cela dans les instructions ci-dessous si vous choisissez un nom de dossier différent.

2. Autorisez Google Drive avec Grive 2 et effectuez la première synchronisation.

La première fois que vous exécutez Grive2, vous devez l'exécuter avec le -a Argument pour l'autoriser avec votre Google Drive. Depuis votre répertoire personnel, utilisez la ligne de commande pour accéder au dossier GoogleDrive nouvellement créé et exécutez grive -a dans ce dossier :

cd ~/GoogleDrive
grive -a

Vous devriez voir un lien sur la ligne de commande. Vous devez copier et coller ce lien dans un navigateur Web. Lorsque vous y êtes invité, acceptez d'autoriser Grive2 à accéder à vos fichiers Google Drive et copiez le code affiché sur la page suivante. De retour dans le terminal où vous avez exécuté Grive2, collez le code d'autorisation et appuyez sur le Enter Clé.

Grive devrait maintenant commencer à synchroniser vos fichiers Google Drive avec le dossier de votre système de fichiers local.

3. Activer la synchronisation automatique de Grive 2 (synchronisations planifiées - vérifier les modifications dans Google Drive toutes les 5 minutes et synchroniser avec le dossier local, et se synchroniser sur les événements de changement de fichier local - télécharger automatiquement les fichiers nouveaux et modifiés à partir du système de fichiers local dès qu'ils se produisent) de Google Drive vers un dossier local.

Pour activer et démarrer les unités systemd Grive2, utilisez ces commandes (ne les exécutez pas en tant que root) :

systemctl --user enable [email protected]$(systemd-escape GoogleDrive).timer
systemctl --user start [email protected]$(systemd-escape GoogleDrive).timer
systemctl --user enable [email protected]$(systemd-escape GoogleDrive).service
systemctl --user start [email protected]$(systemd-escape GoogleDrive).service


GoogleDrive de chacune de ces 4 commandes représente le nom du dossier Google Drive qui a été créé à l'étape 1 dans votre répertoire personnel. Si vous avez un nom de dossier autre que. ont utilisé GoogleDrive , remplacez-le dans ces commandes par le nom que vous avez donné au dossier. Le dossier DOIT être dans votre répertoire personnel, sinon cela ne fonctionnera pas !

Si vous souhaitez synchroniser plusieurs comptes Google Drive, vous pouvez répéter les étapes ci-dessus avec un nom de dossier différent (utilisez un dossier différent pour chaque compte). Répétez ce systemctl Commandes ci-dessus pour chaque dossier que vous souhaitez synchroniser automatiquement avec Google Drive.

Vous pouvez également essayer l'indicateur Grive, un nouvel indicateur Grive Gtk qui utilise Grive2 pour se synchroniser avec Google Drive. Cependant, il ne semble pas prendre en charge la fonction de synchronisation automatique intégrée à Grive2, mais semble plutôt utiliser une simple minuterie pour synchroniser les fichiers avec Google Drive à un intervalle spécifique.

Vous pourriez également être intéressé par :

  • Montez Google Drive sur des ordinateurs de bureau Xfce ou MATE (Ubuntu, Linux Mint)
  • Comment monter OneDrive sous Linux à l'aide de Rclone (prend en charge les comptes professionnels et personnels)


Debian
  1. Comment activer la connexion automatique sur Ubuntu 20.04 Focal Fossa

  2. Comment planifier des sauvegardes de fichiers sur Google Drive sur Ubuntu

  3. Comment accéder à Google Drive dans Ubuntu 16.04 LTS

  4. Comment utiliser Google Drive sous Linux

  5. Grive2 - Un autre client de bureau Google Drive pour Linux

Comment activer/désactiver la connexion automatique dans Debian 10

Comment activer le mode Image dans l'image dans Google Chrome sur Debian 10

Comment accéder à Google Drive sur Debian 10

Comment désactiver/activer le verrouillage automatique de l'écran dans Linux Mint 20 via CLI

Comment installer Google Drive sur Ubuntu 20.04

Comment installer Google Drive Ocamlfuse sur Ubuntu 16.04