Hébergement de projet sourceforge et gestion de fichiers via rsync.

Dans le cadre de mes bricolages GNU/Linux ubuntu/mint mon besoin en hébergement de projet et surtout de fichiers volumineux est primordial.

Publier des fichiers de 1Go  et plus n’est pas simple, mais comme c’est un projet libre, dans mon cas sourceforge est une des solutions, en tous cas pour l’instant elle me convient.

L’objet de cette article recenser les commandes de bases pour héberger des fichiers et surtout les synchroniser en rsync  = économie de bande passante et de temps.

Premier temps créer son compte via l’interface web de sourceforge.net, rien de bien compliqué (en anglais) suivre la procédure d’enregistrement standard.

Une fois que l’on a récupéré son identifiant et mot de passe, plus le nom de son projet on peux poster ses fichiers via sa console linux et la commande rsync par ssh (donc rsync et ssh sont installés … apt-get install rsync openssh-client ).

exemple :

  • login : moi
  • projet : monprojet
  • mon fichier à mettre en ligne : fichier-qui-va-bien-v01.iso (1,3 Go)
  • mon deuxième fichier modifié : fichier-qui-va-bien-v02.iso (1,31 Go)

Ouvrir une console(terminal) en ssh sur son espace sourceforge (valable 4 heure)

ssh -t moi,monprojet@shell.sourceforge.net create

se déplacer dans son répertoire de fichier

cd /home/frs/project/monprojet/

Poster en rsync son fichier-qui-va-bien-v01.iso depuis le répertoire local où se trouve le fichier via une console locale (sur une seule ligne):

rsync -vzP -e ssh fichier-qui-va-bien-v01.iso moi@frs.sourceforge.net:/home/frs/project/monprojet/

laisser cuire la premier fois c’est long si on a comme moi une bande passante montante limitée.

Vérifier le contenu du fichier uploadé depuis la console distante :

ls -lisa

Ou depuis la console locale en utilisant le listage par rsync :

rsync -vzP -e ssh moi@web.sourceforge.net:/home/frs/project/monprojet/

Éventuellement vérifier le fichier à la fin de l’upload en le re-téléchargeant et comparant le md5 (commande md5sum) ou le fichier md5sum généré par sourceforge (voir interface web).

L’astuce qui va bien pour économiser de la bande passante et du temps lors de la publication d’une nouvelle version d’un gros fichier (pas trop différent de la version précédente), c’est de copier/renommer en console distante le dit fichier et d’effectuer une mise à jour par rsync  depuis le fichier local, exemple :

Se connecter en ssh  :

ssh -t moi,monprojet@shell.sourceforge.net create

se déplacer dans le répertoire de base

 cd /home/frs/project/monprojet/

copier le fichier v01 en v02 :

cp fichier-qui-va-bien-v01.iso fichier-qui-va-bien-v02.iso

Uploader depuis une console locale sur le répertoire contenant le fichier v02 en rsync :

rsync -vzP -e ssh fichier-qui-va-bien-v02.iso moi@frs.sourceforge.net:/home/frs/project/monprojet/

Une fois le différentiel uploadé ,plus qu’ à vérifier via l’interface web la présence des fichiers (petit délais de mise à jour de quelques minutes).

Au final on gagne énormément de temps et de bande passante, sur mes fichiers iso de 1,3 Go je suis passé de 6 heures d’upload à moins d’1 heure.

 


Poster un commentaire

Vous devez être connecté pour poster un commentaire.