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) à partir de la version 2.0.2
  • une fonction de partage des fichiers du cloud hubiC avec un maximum de 30 jours et dans Icedove/Thunderbird, la possibilité d'envoyer des fichiers lourds également avec un maximum de 30 jours.
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

Installation du client hubiC fourni par OVH

Pré-requis

  • Disposer d'une connexion à Internet configurée et activée.
  • Nécessite le runtime Mono 2.10+. Attention! à partir de la version 3 de mono, celui-ci devient instable sur certaines versions linux..

Installation

Récupérez la dernière version d'Hubic au format Debian (.deb) à l'adresse suivante. Installez le paquet debian téléchargé.

Préparation au 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 les touches "Ctrl" + "Maj" (anciennes versions : touche "alt" seule), faire un glisser-déposer du dossier "Images" dans le dossier "hubiC".

Connexion et 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 ! Il est cependant désormais possible d'accéder à de nombreuses options (V.2.02) permettant de configurer une sauvegarde et même une sauvegarde avec conservation des versions successives des fichiers. Pour en savoir plus :
man hubic

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 1.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 !

4) Agir sur le déroulement de la synchronisation.

Pour faire une pause de la synchronisation et de la sauvegarde:

hubic pause

Pour reprendre la synchronisation ou la sauvegarde:

hubic resume

Pour stopper la synchronisation ou la sauvegarde:

hubic stop

Pour démarrer une synchronisation, seulement si ce n'est pas déjà le cas:

hubic start

À 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.

En l'absence de notifications et d'indicateur graphique, il est important de vérifier régulièrement le fonctionnement d'hubiC :
Taper dans le terminal :

watch -n 1 hubic status

Avec cette commande, le statut de la synchronisation sera rafraîchi toutes les secondes.

Vérifiez qu'en face de 'State :' vous avez 'Idle' (en attente) ou 'Busy' (occupé) qui témoigne d'une synchronisation fonctionnelle. Vérifiez aussi que le chemin du dossier de synchronisation soit bien indiqué ; sinon, la synchronisation ne se fait pas ! Dans ce cas, vous pouvez indiquer à nouveau à hubiC le dossier de synchronisation par la commande :

hubic syndir /chemin_vers_le_dossier_de_synchronisation

Vous pouvez alors être confronté au problème des conflits décrit plus bas si ce dossier de synchronisation a été perdu depuis un certain temps.
Si vous souhaitez fermer ce terminal, faire "Ctrl C" puis fermer la fenêtre.

ATTENTION : HUBIC a un fonctionnement étonnant : la synchronisation supprime des fichiers (8000 pour mon cas) sur le dossier à synchroniser. TOUJOURS avoir une copie locale indépendante, et surtout passez par un dossier TAMPON dans lequel vous aurez collé le lien vers le dossier à synchroniser : il sera plus facile de désactiver la synchro (qui se lance toute seule).

NOTE : pour arrêter toutes les synchros,

hubic syncdir --none

Pour limiter ce risque, voir plus bas : "Gestion des conflits"

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. Quand vous modifiez / ajoutez un fichier dans le dossier sauvegardé, ceci est automatiquement enregistré dans le cloud.

Créer 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" (vous pouvez omettre d'indiquer le dossier de synchronisation si vous voulez seulement une sauvegarde).
Si vous sauvegardez un lien vers un disque dur externe, assurez vous qu'il soit bien en fonction (voir icône du disque dur).

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

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 ; par défaut, nom du dossier, 'Images' ici. Attention ! Si le dossier a un nom avec plusieurs mots, il est probablement prudent de donner ici un nom en un seul mot. Plusieurs fils citent des erreurs avec la commande attach (voir plus bas) avec des noms à plusieurs mots.
–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). Par défaut, never. Nota: Pour sauver un disque dur externe, mettez toujours "never" ou pas de fréquence de sauvegarde pour pouvoir activer votre disque dur avant de lancer manuellement la sauvegarde.
–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é. Par défaut, –keep_deleted.
–kept_versions = : (cette option ne fonctionne pas dans la version 2.0.2 ; mettez à jour !) On indique le nombre de versions (quand vous sauverez un 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. Par défaut, -1.

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 '/home/nom_utilisateur'

Lancer la sauvegarde

Pour les sauvegardes automatiques, elles se lancent dès que votre PC est branché. Pour lancer manuellement la sauvegarde dans le terminal (cas de l'option –frequency=never ou non indiquée; cas où la sauvegarde a été stoppée).

hubic backup update nom_sauvegarde

Autres commandes


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

hubic help <commande>

donne les infos sur les commandes; si on ne met pas de commande, liste toutes les commandes.

hubic backup info

donne des informations sur les sauvegardes mises en place. Comme pour la synchronisation, il est recommandé de vérifier de temps en temps par cette commande que la sauvegarde de vos dossiers est à jour.

hubic backup download nom_ou_chemin_vers_sauvegarde chemin_vers_cible

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

hubic backup config <options>  nom_de_la_sauvegarde ou 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 comme lors de la création de la sauvegarde avec l'option supplémentaire "path='chemin_vers_dossier_sauvegardé' pour changer le chemin de la sauvegarde.

hubic backup delete chemin_vers_dossier_sauvegardé

supprime la sauvegarde désignée

Cas du lien rompu entre votre sauvegarde et votre machine, cas d'une machine ré-initialisée ou cas d'une nouvelle machine:


Si vous avez lancé la sauvegarde de votre disque dur externe sans l'activer avant de lancer manuellement la sauvegarde, vous rompez le lien.
Si vous ré-initialisez votre système, vous perdez le lien.
Si vous changez d'ordinateur et que vous avez téléchargé votre sauvegarde sur celui-ci, le lien n'existe pas encore.
Comme nous l'avons vu, la sauvegarde est attachée à un seul ordinateur, ou un disque dur externe activé attaché toujours au même ordinateur. Dans le cas d'un lien absent, les sauvegardes automatiques ne se font plus. Il est donc nécessaire de reconstituer le lien entre la sauvegarde et la machine. Pour cela, utiliser la commande:

hubic backup attach nom_sauvegarde chemin_vers_dossier_sauvegardé

Une fois attachée au dossier local, la sauvegarde se poursuit normalement.
Un message d'erreur "Backup unknown" peut apparaître pour des dossiers avec un nom à plusieurs mots avec impossibilité de rattacher cette sauvegarde et de la poursuivre !
Nota: Voir aussi le message d'erreur "Command failed: The backup is not attached to this computer.."

Partage de fichiers

Vos fichiers peuvent être partagés via le cloud hubiC mais vous avez aussi la possibilité de le faire directement depuis Icedove/Thunderbird.

Partager un fichier

Cette commande vous donne l'URL à communiquer aux personnes avec lesquelles vous voulez partager votre dossier/fichier.

hubic publish --days=5 '/home/nom_utilisateur/Images/Photo.jpg'

Explications
hubic publish : commande qui crée le partage
–days= : durée du partage en jours. valeurs possibles: 1, 5, 10, 15, 20, 25, 30. (par défaut: 30).
chemin vers le fichier ou le dossier à partager, ici le fichier "Photo.jpg".

Autres possibilités:

  • Dans le cloud hubiC, cliquer sur le symbole grisé à droite des fichiers ou dossiers. Choisir la durée (5, 10, 30 jours), lien vers mail, facebook, twitter, google+. Créer le message d'accompagnement, éventuellement l'adresse, puis partager. On retrouve ces liens dans la liste avec l'URL correspondante. Si l'on clique seulement sur "obtenir le lien", on peut aussi copier le lien qui apparaît dans la boite grise là où on le désire.
  • Dans Lubix, faire un clic-droit sur le dossier ou le fichier à partager. Sélectionner "Publish". Le lien à copier-coller est publié pour 30 jours.

Lister les dossiers et fichiers partagés

Cette commande donne la liste des dossiers/fichiers partagés avec l'URL correspondante.

hubic publish list

Dans Lubix, la liste est sous l'onglet "Published".

Stopper le partage de dossier/fichier

Cette commande permet de stopper le partage d'un fichier ou d'un dossier.

hubic unpublish '/home/nom_utilisateur/Images/Photo.jpg'

Autres possibilités:

  • Dans le cloud hubiC, cliquer sur le symbole partage du fichier partagé puis "Annuler la publication" > OK
  • Dans Lubix, onglet "published", faire un clic-droit sur le fichier ou dossier puis sélectionner "Unpublish".

Partager un dossier/fichier directement dans un courrier

Bien pratique pour envoyer facilement des fichiers joints volumineux dans un mail.

Au début: Installer au préalable le module "hubiC for FileLink" dans Icedove/Thunderbird. Aller dans "Préférences" de Icedove/Thunderbird. choisir l'onglet "pièces jointes", puis l'onglet sortant. Apuyer sur le bouton "Ajouter" > "Selectionner un service de stockage en ligne, choisir "hubiC by OVH" > paramétrer le compte. Entrer vos identifiant et mot de passe hubiC, puis accept. Dans ce même onglet, vous pouvez spécifier la taille où l'on vous proposera le partage et dans "Préférences" le nombre de jours (par défaut 30) et le nom du dossier où seront stockés les pièces jointes, que vous retrouvez dans votre dossier synchronisé "hubiC" (par défaut: thunderbird-attachments)

Lorsque vous voulez envoyer une pièce jointe (par exemple fichier lourd), cliquez sur la flèche "Joindre" > Espace de Fichiers > hubiC by OVH et sélectionner le fichier ou dossier à partager. Le lien se crée dans le corps de texte pour la durée déterminée.

Ces fichiers se retrouvent dans le dossier "thunderbird-attachments", ils se traitent comme tous les autres liens.

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 "Command failed: The backup is not attached to this computer.."

Le lien est rompu ou n'existe pas encore entre votre PC et votre sauvegarde. Il suffit de l'attacher avec

hubic backup attach nom_sauvegarde chemin_vers_dossier_sauvegardé

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 fichiers "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" ' {} \;


Et pour éviter ces problèmes :
Hubic tient à jour l'état de la synchronisation dans un dossier dont le chemin est .config/hubic dans votre dossier personnel (.config est un dossier caché que l'on affiche en faisant ctrl+H). Il est important de conserver ce dossier notamment lors d'une réinstallation. Si ce dossier est supprimé, quand vous allez remettre Hubic en place / en route, tous les fichiers qui ont été modifiés entre temps vont créer un conflit. Ainsi un fichier actualisé plus récemment sur votre ordinateur va être renommé "Copy of… (conflict from date et heure).xyz" et le fichier sauvegardé chez Hubic va être téléchargé pour prendre sa place. Quand vous ouvrirez votre fichier, vous aurez l'ancienne version !
Solution : Renommer le fichier "Copy…" pour lui redonner son nom original. Ceci est assez laborieux s'il s'agit de fichiers cachés (configuration de Shotwell pour vos photos par exemple).
Si vous avez perdu le dossier .config/hubic, soit vous laissez Hubic rapatrier tous vos documents synchronisés dans vos dossiers vides (cas où vous partez avec un disque vierge), soit vous évitez de modifier les fichiers (ne lancer aucun logiciel concerné par la sauvegarde) tant qu'Hubic n'a pas été mis en place et terminé la mise à jour de son journal de sauvegarde.

Voir aussi

Sur le forum hubiC :

Projets annexes :

1)
Requiert JRE 8, voir la documentation Java
  • hubic.txt
  • Dernière modification: Le 28/04/2018, 11:16
  • (modification externe)