Vous vous souvenez de mon article concernant HubicFuse ? Hé bien sachez mesdames et messieurs qu’il existe un outil encore plus intéressant nommé Rclone. Nous allons donc mettre en place une sauvegarde sur Hubic avec Rclone.
Sauvegarde sur Hubic avec Rclone : Rclone c’est quoi ?
Rclone c’est tout d’abord le Rsync du cloud, donc un outil, en ligne de commande, vous permettant de synchroniser vos fichiers sur :
- Google Drive
- Amazon S3
- Openstack Swift / Rackspace cloud files / Memset Memstore
- Dropbox
- Google Cloud Storage
- Amazon Drive
- Microsoft One Drive
- Hubic
- Backblaze B2
- Yandex Disk
- The local filesystem
Pas mal non ? Mais comme indiqué dans le titre de l’article nous allons nous concentrer sur Hubic
Sauvegarde sur Hubic avec Rclone : Installation d’Rclone
Commencez donc par télécharger la dernière version du programme
wget http://downloads.rclone.org/rclone-current-linux-amd64.zip
Nous allons maintenant extraire les fichiers puis installer Rclone
unzip rclone-current-linux-amd64.zip cd rclone-v1.32-linux-amd64 sudo cp rclone /usr/sbin/ sudo chown root:root /usr/sbin/rclone sudo chmod 755 /usr/sbin/rclone
Installons le man page (l’aide)
sudo mkdir -p /usr/local/share/man/man1 sudo cp rclone.1 /usr/local/share/man/man1/ sudo mandb
Sauvegarde sur Hubic avec Rclone : Tunnel SSH et Proxy
Pour récupérer son jeton d’authentification Rclone va momentanément lancer un serveur web et nous devrons nous connecter à l’adresse suivante : http://127.0.0.1:53682/. Nous allons donc configurer un tunnel SSH afin de pouvoir atteindre cette page.
Sauvegarde sur Hubic avec Rclone : Configuration du tunnel SSH
Ouvrez votre client SSH préféré (ici Putty), chargez la configuration de votre serveur. Puis naviguez vers SSH > Tunnels
Indiquons un numéro de port source, dans cet exemple 5050, et choisissons une destination Dynamic puis cliquez sur Add
Une fois la connexion correctement configurée cliquons sur Open et identifions nous sur notre serveur.
Sauvegarde sur Hubic avec Rclone : Configuration de votre navigateur
Afin de pouvoir profiter de ce tunnel SSH nous allons devoir configurer notre navigateur, dans notre cas Firefox.
Rendez vous dans les options du navigateur, puis naviguez vers l’onglet Avancé > Réseau.
Cliques sur Paramètres afin de configurer la façon dont Firefox se connecte à Internet.
Configurons notre proxy SOCKS de comme ci-dessous
Sauvegarde sur Hubic avec Rclone : Configuration Hubic
Rclone étant installé, le tunnel SSH configuré, nous allons maintenant configurer l’accès à notre compte Hubic.
Commencons la configuration en indiquant à Rclone que nous souhaitons ajouter une nouvelle connexion
sudo rclone config
Rclone vous propose alors différentes options, ici choisissons « New Remote »
No remotes found - make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n
Donnons maintenant un nom à notre connexion, dans mon cas noobunbox-hubic
name> noobunbox-hubic
Rclone vous affiche maintenant la liste de tous les type de cloud avec il est compatible, ici nous souhaitons ajoutez un compte Hubic, c’est donc le numéro 7
Type of storage to configure. Choose a number from below, or type in your own value [..] 7 / Hubic \ "hubic" [..] Storage> 7
Lors des deux prochaines options de configuration, n’indiquons rien comme demandé.
Hubic Client Id - leave blank normally. client_id> Hubic Client Secret - leave blank normally. client_secret>
Attention ici c’est l’étape piège. Il est impératif de choisir le mode auto config sans quoi nous ne pourrions pas obtenir de jeton d’authentification via notre tunnel SSH. Nous répondons donc Yes
Remote config Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine y) Yes n) No y/n>y
Rclone va maintenant nous demander de nous connecter à l’adresse http://127.0.0.1:53682/auth afin de pouvoir avoir accès à notre compte Hubic
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code...
Ouvrons donc cette page dans Firefox.
Connectons-nous vos identifiants de connexion Hubic. Et si tout fonctionne bien, voici ce que vous devriez voir dans notre navigateur
Maintenant dans notre terminal, Rclone nous informe que la connexion a été effectuée et nous demande de confirmer. Validons
[noobunbox-hubic] client_id = client_secret = token = {"votre jeton d'identification"} y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> Y
Rclone vous donne maintenant la liste des connexions configurées. Nous pouvons quitter.
Name Type ==== ==== noobunbox-hubic hubic e) Edit existing remote n) New remote d) Delete remote s) Set configuration password q) Quit config e/n/d/s/q>q
Sauvegarde sur Hubic avec Rclone : Synchronisation des fichiers
Rclone étant configuré, nous allons pouvoir passer à la synchronisation de nos fichiers.
Pour synchroniser un répertoire sur Hubic, utilisez la commande suivante
rclone sync repertoire-local connexion-hubic:default/repertoire-hubic
Dans mon cas, le répertoire local contenant mes sauvegardes est hubic, le nom de la connexion est noobunbox-hubic et je souhaite que mon dossier de sauvegarde sur Hubic se nomme sauvegarde-noobunbox. Je lance donc la commande suivante
sudo rclone sync hubic noobunbox-hubic:default/sauvegarde-noobunbox
Rclone synchronise nos fichiers
root@noobunbox:~$ rclone sync hubic noobunbox-hubic:default/sauvegarde-noobunbox 2016/08/19 03:15:02 Hubic Swift container default path sauvegarde-noobunbox/: Waiting for checks to finish 2016/08/19 03:15:02 Hubic Swift container default path sauvegarde-noobunbox/: Waiting for transfers to finish 2016/08/19 03:15:08 Waiting for deletions to finish 2016/08/19 03:15:08 Transferred: 48 Bytes (7 Bytes/s) Errors: 0 Checks: 0 Transferred: 3 Elapsed time: 6.3s
Vérifions que nos fichiers soient bien présents sur Hubic
Voilà tout fonctionne donc comme prévu. Dans un prochain billet j’aborderais la mise en place d’une sauvegarde chiffrée sur Hubic avec Rclone
Source
Pourquoi ne pas utiliser simplement « hubic backup create » ? La gestion des backups avec le client hubic est beaucoup plus simple et natif.
Pour plusieurs raisons :
1) J’utilise aussi Dropbox, et je préfère avoir un seul client.
2) le client officiel n’a pas été mis à jour depuis août 2015 et aucune documentation officielle dispo
3) OVH et bêta ça me fait peur 🙂
Bonjour Novakin,
Merci pour ce tuto, il m’a bien aidé. Pour info, cela fonctionne sous raspbian. Ma question tient plus de la fréquence de synchronisation. A ce jour, utiliser la fonction copy ou sync de Rclone revient pour moi au même. J’ai du louper quelque chose. Si tu as une idée…
Salut Antoine,
La fonction copy ne modifie que la destination. Les fichiers ne seront jamais supprimés sur Hubic (via l’intermédiaire de la commande copy).
La fonction sync fait correspondre la source et la destination. Si le fichier A est supprimé du dossier source il sera supprimé de la destination.
ok, merci; Dans mon cas, la source est un dossier local et la destination un compte onedrive. la procédure avec tunnel SSH reste la même. Après une première synchro tout est identique des 2 cotés ; mais si j’efface un fichier de ma source, celui-ci reste présent sur ma destination (onedrive). il faut alors relancer une commande sync pour voir le fichier disparaître sur onedrive. je me pose donc la question de la fréquence d’exécution de la commande sync. Y en t’il une ou est ce du one shot ?
C’est bien du one shot.
Si tu veux que la synchronisation s’exécute régulièrement sans avoir à lancer la commande, il va falloir créer un script et le configurer pour qu’il s’exécute automatiquement (cron).
Super. Merci pour toutes tes réponses. Longue vie à ton blog.
Merci à toi 🙂
Pas de problème et n’hésite pas si besoin
A tout hasard, connaîtrais tu un logiciel type Rclone, compatible linux, avec synchro automatique et surtout bidirectionnelle ?
Je crois que le client officiel de dropbox le permet (sans avoir besoin d’interface graphique), pour les autres je ne sais pas.
A noter qu’il est possible qu’un jour Rclone embarque cette fonctionnalité. (https://github.com/ncw/rclone/issues/249)
Oui mais pas sur un cloud donc server to server => Syncthing
Il est bidirectionnelle, n’est pas dépendant de la vitesse d’un port SSH (donc full débit) et la cerise sur le gâteau il chiffre les datas en transit entre les serveurs 🙂
Plus d’infos ici : https://zoneadmin.fr/forum/threads/syncthing-alternative-de-btsync.185/
Pour ma part c’est que je j’utilise comme backup.
Hello, Merci pour cet article qui m’a fait découvrir une alternative au client officiel bricolé de chez OVH. Quelques remarques constructives (enfin j’espère !) : * Quand on installe des binaires autres que ceux fournis par la distribution il est plus propre de les installer dans /usr/local/bin. Tu n’as fait que suivre la doc de rclone, mais bon. * On peut aussi copier et changer les droits en une seul ligne de commande : install -o root -g root -m 755 ./rclone /usr/local/bin * Plutôt que de faire un tunnel pour avoir un accès web sur le serveur, pourquoi ne… Lire la suite »
Bonjour,
Encore un commentaire pris par la patrouille anti-spam, j’en suis désolé
Merci pour tes remarques constructives. Je modifierai le billet en fonction de celles-ci
Pour les navigateurs en mode texte je n’en ai pas du tout l’utilité sur mes serveurs 🙂
Bonjour, Je tente d’installer RClone sur 1 NAS synology et d’utiliser ta méthode mais je m’y perd un peu dans le tunneling : comme tout les nas je le commande a partir d’un autre poste et avec putty mais je n’arrive pas a me connecter a l’adresse http://127.0.0.1:53682/auth. Le port a renseigner dans le tunneling est celui de l’acces au nas en ssh ? l’adresse ip est elle celle du nas ou le 127.0.0.1 (qui est un localhost non ?) Désolé pour ces questions de noob bidouilleur mais j’aimerai utiliser rclone plutot que l’appli du synology qui se connecte a… Lire la suite »
Bonsoir Matthieu,
Je ne pense pas qu’il soit possible d’installer Rclone sur un NAS Synology directement.
Chez moi Rclone est installé sur un serveur debian qui accède à mon NAS via un montage CIFS.
Merci de m’avoir répondu ! Pourtant j’ai bien installé Rclone mais c’est plus la config Hubic qui me pose problème. apparemment il faut un web browser sur le serveur même. Il y aurai s des possibilités apparemment avec lynx mais je ne sais pas configurer le proxy sur lynx;Mon intuition de départ est cependant que le tunneling peut aussi se faire a travers le nas comme expliquer ici, mais il faut que j’y consacre plus d’essais pour trouver la bonne config. Je tatonne car je ne maitrise pas vraiment le pourquoi du comment.
Oui utilise la méthode de tunneling décrite dans mon billet, elle fonctionne.
Tiens moi au courant si tu arrives à faire fonctionner rclone sur ton NAS