Dropbox et la ligne de commande
Date: 17/09/2013 | Catégories: Open-source,Planet-libre,Systeme | Tags: cli,dropbox
Je suis utilisateur du service Dropbox depuis maintenant quelques temps. Il me permet de synchroniser les fichiers entres mes différentes machines (même les serveurs). Depuis ses débuts, Dropbox propose un client pour système GNU/Linux complètement intégré dans l’environnement graphique.
Ce qui est moins connu, c'est l'utilisation de la bonne vieille ligne de commande pour profiter de ce service. C'est ce que nous allons voir ensemble dans ce billet en parcourant quelques fonctions disponibles.
Ré-initialiser du cache
Dans certains cas, il se peut que votre client Dropbox tourne dans le vide (l'icône de notification reste bloqué sur une mise à jour de fichier). Je suis bien placé pour le savoir car cela vient de m'arriver...
Pour repartir d'une configuration propre, il est nécessaire de nettoyer le cache de Dropbox. Il n'y a pas de commande à proprement parler pour faire cela mais un simple:
rm -R ~/Dropbox/.dropbox.cache/*
devrait suffire à remettre votre Dropbox dans le droit chemin de la synchronisation.
Arrêter puis relancer Dropbox en ligne de commande
Si vous avez à écrire un script shell qui va générer des fichiers non désirables (ou bien trop volumineux) dans un des répertoire de votre Dropbox, il peut être utile d'arrêter puis de relancer le service depuis le script. On évitera ainsi de saturer sa ligne internet avec des transferts inutiles.
Pour cela on utilisera les commandes:
dropbox stop ... <votre script ici> ... dropbox start
Obtenir des informations sur l'état de Dropbox
Pour obtenir le status du démon Dropbox (processus dropboxd), il est possible d'utiliser:
$ dropbox status Idle
Note: la commande 'dropbox running' renvoie le code retour 1 si le démon Dropbox est lancé, 0 sinon.
Si vous souhaitez avoir l'état de synchronisation de votre répertoire ~/Dropbox:
$ dropbox filestatus ~/Dropbox/ /home/nicolargo/Dropbox/: up to date
Il est possible de passer en paramètre de cette dernière fonction un fichier (ou un répertoire):
$ dropbox filestatus ~/Dropbox/Public/ESIL2010-Cloud.pdf /home/nicolargo/Dropbox/Public/ESIL2010-Cloud.pdf: up to date
Obtenir l'URL publique des fichiers de votre Dropbox
Last but not least, Dropbox permet de partager vos fichiers en générant une URL publique. Celle-ci peut être obtenue en ligne de commande (ou dans vos scripts) via:
$ dropbox puburl ~/Dropbox/Public/ESIL2010-Cloud.pdf https://dl.dropboxusercontent.com/u/1112933/ESIL2010-Cloud.pdf
Pour aller plus loin: l'API Python
Si (comme moi), vous développez en Python, il existe une API permettant de jouer avec le service Dropbox. Je vous conseille la lecture de la page officielle sur le sujet.