Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Données Transfert des données avec Rsync » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
 
(Aucune différence)

Dernière version du 24 avril 2013 à 10:08

Pour le projet BM-Orléans nous manipulons un gros volume de données (~250Go). Certains fichiers sont utiles pour les phases de développement et nécessite qu'ils soient disponible rapidement, sans pour autant être disponible à l'application. Lors du déploiement de l'application de développement sur le serveur houat, et sur le serveur de production, il nous faut transférer uniquement certains fichiers. Voire il faudra n'en mettre à jour que certains. Pour ce faire, nous utiliserons rsync ou l'interface graphique Grsync. Cette article décrit la mise en place du transfert.

Exclusion de fichiers et dossiers

[modifier | modifier le wikicode]

Commençons par définir les fichiers que l'on ne souhaite pas transférer. Pour cela, je place un fichier dans le dossier ~/bm-orleans/src/shell-scripts/rsync-exclude.txt, mais vous pouvez le placer où vous voulez. On utilise des pattern, proche des globs, pour décrire les fichiers à exclure<ref>Rsync: Exclude Patterns</ref> :

*.pdf
*.tiff?
*.csv.bak
tif/
tiff-*/
Important :
On fera toujours une simulation avant de lancer une copie. Soit :
  • à l'aide du bouton correspondant (« i » bleu) ;
  • à l'aide de l'option -n ou --dry-run.

Configuration de la GUI

[modifier | modifier le wikicode]

Options basique

[modifier | modifier le wikicode]

Les options de cette onglet ne sont pas très critique. On fera tout de même attention au chemin de destination ajlsm@houat:/home/www/bm-orleans/data/bm-orleans/images/ qui ne précise pas de protocole. C'est en effet l'option -e ssh qui le précise.


Important :
Il ne faut pas indiquer le protocole dans le chemin de la source ou de la cible. C'est l'option -e ssh qui le précise.

Options avancées

[modifier | modifier le wikicode]

Pour les options avancées :

  • on fera attention à ce que l'on veut faire quand on rencontre des liens symboliques : les copier en tant que tels ou les résoudre ;
  • Ici, j'utilise le contrôle par taille de fichier, mais on peut faire un contrôle par checksum (somme de contrôle), qui est plus sûr mais aussi plus consommateur de ressource.
  • C'est dans cet onglet que l'on indique le chemin vers le fichier contenant les patterns à exclure. On peut également utiliser l'option --exclude=PATTERN.

Commande rsync

[modifier | modifier le wikicode]

Si vous préférrez executer la commande via un terminal, voici la commande utilisée pour l'envoi décrit ci-dessus. On commence par définir les variables et ensuite la commande rsync :

excludeFile="/home/elopez/bm-orleans/src/shell-scripts/rsync-exclude.txt"
sourceDir="/media/AJLSM/data-bm-orleans/presse" # un slash de fin indique qu'on copie le contenu sinon le dossier entier
targetDir="ajlsm@houat:/home/www/bm-orleans/data/bm-orleans/images/"
logFile="~/logs/rsync-$(date '+%Y-%b-%d')"
rsync -r -t -v --progress --size-only -z -s -e ssh \
	--exclude-from="$excludeFile" \
	"$sourceDir" \
	"$targetDir"
	--log-file="$logFile"

<references/>