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
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-*/
Simulation
[modifier | modifier le wikicode]- à l'aide du bouton correspondant (« i » bleu) ;
- à l'aide de l'option
-nou--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.

-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"
Références
[modifier | modifier le wikicode]<references/>