Contenu | Rechercher | Menus

hubiC

hubiC (https://hubic.com/fr/) est le service de stockage Cloud de OVH.

OVH met à la disposition des utilisateurs différents logiciels clients pour hubiC, dont un pour Linux. Le client Linux permet :

  • la synchronisation de différents ordinateurs avec le stockage 'cloud' hubiC
  • une fonction d'archivage (BACKUP) avec la version 2.0.2

OVH met à disposition un client Linux en ligne de commande depuis le 07 novembre 2013 avec une fonction Backup depuis octobre 2014. Jusqu'à 25 Go, le stockage est gratuit, payant au delà.
Annonce sur le forum officiel Hubic : hubic Linux: sortie de la version bêta )

Connexion avec le client hubiC fourni par OVH

Pré-requis

Installation

Récupérer la dernière version d'Hubic au format Debian (.deb) à l'adresse suivante : http://mir7.ovh.net/ovh-applications/hubic/hubiC-Linux/.

En mode graphique

Double-cliquer sur le .deb et poursuivre son installation avec l'Installeur d'Applications Ubuntu.

En terminal

sudo dpkg -i hubiC-Linux-*.deb

Un message d'erreur apparait parce que des dépendances ne sont pas installées, on les installe :

sudo apt-get install --fix-broken --no-install-recommends

Préparation et 1er lancement

1) pré-requis : s'être inscrit sur le site de Hubic

2) Créer un dossier hubiC sur votre ordinateur
ex d'emplacement :
/home/votre-nom-de-login-linux/Téléchargements/hubiC

3) Dans ce dossier, placer les liens des dossiers que vous voulez synchroniser .
ex sous Nautilus (navigateur de fichiers gnome) :
En appuyant sur la touche "alt", faire un glisser-déposer du dossier "Images" dans le dossier "hubiC".
Choisir "Lier ici" dans le menu contextuel qui apparaît quand on relache le bouton de la souris.

Synchronisation

La synchronisation permet de tenir à jour avec la même version tous les fichiers qui sont dans le répertoire créé hubiC sur votre ordinateur, dans le cloud hubiC et sur tous les autres ordinateurs où vous installerez la même procédure avec le même nom d'utilisateur, qu'ils soient sous Linux, osX ou WIndows. Si vous modifiez un fichier sur une machine, la modification sera copiée automatiquement dans le cloud et sur les autres. Mais ce n'est pas une sauvegarde ! Si vous supprimez un fichier sur une machine, il est supprimé dans le cloud ET AUSSI SUR TOUS LES AUTRES ORDINATEURS !

1) Lancer la synchronisation, depuis le terminal
via le terminal (toutes versions d'Ubuntu) avec la commande suivante :

hubic login votre-mail-hubic /home/votre-nom-de-login-linux/Téléchargements/hubiC

où vous remplacez votre-mail-hubic et votre-nom-de-login-linux par vos informations personnelles.
Cette commande va synchroniser tous les dossiers (réels ou liés) présents dans le dossier hubiC de votre ordinateur, en les téléchargeant tout d'abord à la racine de votre dossier hubiC en ligne.
Dans cet exemple, c'est le dossier Images qui va être mis sur hubiC en ligne.

2) Renseigner le mot de passe demandé dans le terminal, puis Valider.
La synchronisation commence. Vous pouvez fermer le Terminal.
(la tache de synchronisation continuera en arrière-plan).

3) Exclure des dossiers.
Vous pouvez exclure certains sous-dossiers parmi les dossiers que vous avez liés dans le 3) ci dessus.

Ex.: exclure le sous-dossier "Travail" du dossier "Images" ; dans le terminal, taper la commande :

hubic exclude add /home/votre-nom-de-login-linux/Téléchargements/hubiC/Lien_vers_Images/Travail

Une méthode plus simple pour écrire cette ligne consiste à écrire seulement

hubic exclude add 

puis à ouvrir Nautilus pour atteindre le dossier hubiC, puis ouvrir le lien vers le dossier "Images" pour enfin 'tirer' le dossier "Travail" sur la fenêtre de terminal au bout de la phrase que l'on a commencé à taper : le chemin s'écrit tout seul !

Vous pouvez répéter cette manœuvre autant de fois que vous avez de sous-dossiers à exclure.

Pour voir la liste des sous dossiers exclus :

hubic exclude list

Pour enlever une exclusion :

hubic exclude remove 'chemin_vers_le_dossier_à_remettre'

Il faut bien mettre le chemin vers ce dossier à exclure en passant par le lien créé pour Hubic ! Dans cet exemple, il ne faudrait pas mettre /home/votre-nom-de-login-linux/Images/Travail ce qui ne marcherait pas !

À savoir

La synchronisation, une fois lancée une première fois, continue en tâche de fond.
Elle reprendra et continuera automatiquement au redémarrage de votre ordinateur.
Il n'y a donc plus rien de particulier à configurer.

Pour contrôler l'avancement de la synchronisation :
Taper dans le terminal :

watch -n 1 hubic status

Avec cette commande, le statut de la synchronisation sera rafraîchi toutes les secondes.
Si vous souhaitez fermer ce terminal, faire "Ctrl C" puis fermer la fenêtre.

Interface graphique non officielle avec indicator

Des petites interfaces graphiques commencent à voir le jour

Sauvegarde (BACKUP)

La sauvegarde fait une copie de vos dossiers sur le cloud d'hubiC. Cette copie est propre à l'ordinateur sur laquelle vous la mettez en place (voir 'man hubic' dans un terminal) ; ce n'est pas une synchronisation. Vous pouvez préciser un paramètre qui conservera un exemplaire de vos fichiers dans le cloud même si vous les supprimez de votre ordinateur. Qand vous modifiez / ajoutez un fichier dans le dossier sauvegardé, ceci est automatiquement enregistré dans le cloud.

1) Lancer une sauvegarde, depuis le terminal
N'importe quel dossier de votre 'Dossier personnel' peut être sauvegardé. Il n'y a pas besoin de créer un dossier hubiC pour cette procédure.
Nota : pour pouvoir lancer la commande de sauvegarde, il faut être connecté à hubiC par la commande hubic login vue plus haut dans la section 'Synchronisation"

Pour sauver le dossier Images tous les jours en gardant la sauvegarde si je supprime le dossier :

hubic backup create --frequency=daily --keep_deleted '/home/nom_utilisateur/Images'

Explications
hubic backup create : commande qui crée la sauvegarde
–name= : non utilisé dans cet exemple. Si on ajoute cette option, elle permet de donner un nom spécifique à cette sauvegarde ; sinon, ce sera le nom du dossier, 'Images' ici.
–frequency= : option qui permet de définir la périodicité de la sauvegarde. Au choix : never (seulement quand vous la lancez dans le terminal), hourly (toutes les heures), daily (tous les jours), weekly (toutes les semaines).
–keep_deleted ou –drop_deleted au choix : avec la première, quand vous supprimez un fichier sur votre ordinateur, il est conservé sur le cloud ; avec la 2e, il est supprimé.
–kept_versions = : je n'ai pas indiqué cette option dans ma ligne de commande car elle ne fonctionne pas dans cette version ! On est censé indiquer le nombre de versions (quand vous sauvez votre texte plusieurs fois au cours de sa rédaction par exemple) d'un même fichier à conserver avec '-1' qui signifie 'tout garder', '0' pour 'ne pas garder de versions précédentes' et ensuite de '1' à '10'. Ceci interfère avec l'option précédente. Vous pouvez néanmoins utiliser cette option avec la commande hubic backup config cité ci-dessous : là elle marchera.

Vous pouvez ajouter d'autres dossiers à sauvegarder en suivant la même procédure ou vous pourriez simplement sauver tout votre dossier personnel, dossiers cachés compris, en lançant simplement la commande :

hubic backup create --frequency=daily --keep_deleted '/home/nom_utilisateur'

2) Autres commandes
Il y a d'autres commandes concernant ce backup, bien expliquées : dans un terminal, taper 'man hubic'. Notamment :

hubic backup info

donne des informations sur les sauvegardes mises en place

hubic backup download nom_ou_chemin_vers_sauvegarde chemin_vers_cible

permet de télécharger la sauvegarde vers un dossier cible sur son ordinateur

hubic backup config options chemin_vers_dossier_sauvegardé

permet de modifier les options que l'on a indiqué en lançant la sauvegarde. Il suffit de mettre les nouvelles options.

hubic backup delete chemin_vers_dossier_sauvegardé

supprime la sauvegarde désignée

hubic backup attach nom_sauvegarde chemin_vers_dossier_sauvegardé

Cette commande est importante si vous changer d'ordinateur ou simplement si vous réinstallez complètement votre système. Comme on l'a vu, une sauvegarde est attachée à une machine et une seule. Dans ce type de situation, le lien entre la sauvegarde créée et le dossier à sauvegarder peut être rompu et la sauvegarde ne se met plus à jour. Pour vous en rendre compte, tapez :

hubic backup update nom_sauvegarde

cette commande va vous renvoyer alors une erreur disant que le dossier n'est pas attaché. Par la commande hubic backup attach, vous allez rattacher votre dossier à sauvegarder à cette nouvelle machine ou cette nouvelle installation.

Problèmes pouvant être rencontrés

message "Consider using MONO_EXTERNAL_ENCODINGS"

Cela est dû à des dossiers ou des fichiers avec des noms qui ne correspondent pas à l'encodage par défaut, en général UTF-8. Cela peut déjà être retrouvé via Nautilus.
Exemple : un fichier qui a le nom "r�forme.zip" au lieu de "réforme.zip".

Solution : renommer les fichiers concernés afin d'avoir un encodage cohérent dans tous les répertoires.
(voir le thread : https://forums.hubic.com/showthread.php?270-beta-Linux-ligne-de-commande)

message "Cannot contact daemon, are you sure it is running?"

Si vous tentez de lancer hubiC sur un serveur ou via une connexion SSH, il est probable que le bus de session DBus ne soit pas correctement configuré.
Vous obtiendrez alors des messages comme "Cannot contact daemon, are you sure it is running?".

Il vous faut alors lancer le bus manuellement avec 'dbus-launch':

$ dbus-launch --sh-syntax
  DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-XXXX,guid=XXXXXXX
  DBUS_SESSION_BUS_PID=1234
  $ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-XXXX,guid=XXXXXXX
  $ hubic login foo@bar.com ~/hubiC

Ou avec 'dbus-daemon':

  $ export DBUS_SESSION_BUS_ADDRESS=`dbus-daemon --session --fork --print-address`
  $ hubic login me@foo.com ~/hubiC

.

Message "Can not synchronise <votre repertoire de synchro>: Path doesn't exist!. Will retry later. "

C'est parcque vous avez des liens symboliques cassés, pour les repérer

find -L <votre repertoire de synchro> -type l

Message "Skip synchronisation for Ovh.Hubic.Sync.FrozenFile: the file or folder cannot be accessed."

C'est que votre utilisateur ( celui qui a lance la commande hubic login), n'a pas le droit de lire des fichiers dans votre répertoire, pour les repérer :

find -L <votre repertoire de synchro> -not -readable

Debuggage

pour savoir un peu plus ce qui se passe :

hubic stop
hubic main-loop --verbose

Quota et espace de stockage

en faisant un

hubic status

vous connaitrez votre espace de stockage
Vous pouvez avoir le détails localement en utilisant la commande

du -hscL  *

dans votre répertoire hubic

Gestion des conflits

message "[05/11/2013 23:54:00|Warning] Conflict detected on mon_fichier"
Pour trouver tous les conflits

find -L /chemin/locale/du/répertoire/hubic -name "*conflict from*"

Pour renommer rapidement tous les fichier "copy of <filename> ( conflict from …).ext" en <filename>.ext d'un répertoire et sous répertoires voici une ligne de commande fort utile :
pour voir ce que ça va faire :

find -L . -name "*conflict from*" -exec  bash -c 'new_file=`echo "$0"| sed -r "s#Copy of (.*) \([^\.]*#\1#g"`; echo "mv \"$0\" \"$new_file\" "' {} \;

Explication :
find -L . -name "*conflict from*" → Rechercher en suivant les liens symboliques (-L) dans le répertoire en cours (.) les fichiers qui dans leur nom on "conflit from",
puis pour ces fichiers executer bash -c 'new_file=`echo "$0"| sed -r "s#Copy of (.*) \([^\.]*#\1#g"`; echo "mv \"$0\" \"$new_file\" "' {}
c'est à dire éxecuter le bash avec comme argument le nom du fichier ({})
le script affiche le nom du fichier (echo "$0" ) puis le passe à sed qui enlève tout sauf le nom du fichier c'est le (.*) et le tout est mis dans la variable new_file grâce aux ` `,
puis on fait ensuite un echo de la commande mv <nom trouvé> ($0) <nouveau nom> ($new_file)

pour faire vraiment le renommage

find -L . -name "*conflict from*" -exec  bash -c 'new_file=`echo "$0"| sed -r "s#Copy of (.*) \([^\.]*#\1#g"`; mv "$0" "$new_file" ' {} \;

Voir aussi

Sur le forum hubiC :

Projets annexes :

1) Requiert JRE 8, voir la documentation Java


Le contenu de ce wiki est sous licence : CC BY-SA v3.0