Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/10/2013, à 19:16

Autiwa

[Résolu] rsync et expression régulière

Bonjour,

J'ai actuellement un petit soucis avec rsync. Je me suis fait un petit script qui l'utilise pour faire des backups de divers dossiers. Les lignes ont la tête suivante :

rsync -av  $1/.thunderbird/ $2/.thunderbird/

Seulement voilà, gimp a la bonne idée d'avoir un nom de dossier qui dépend de la version du logiciel. C'était gimp-2.6 avant, c'est gimp-2.8 depuis la mise à jour. Ma question est donc : Existe-t-il un moyen d'utiliser des expressions régulières avec rsync afin de prendre ça en compte?

Si ça peut fonctionner pour le premier argument, j'ai peine à croire que mon idée puisse fonctionner pour le deuxième qui lui dit où enregistrer :

rsync -av  $1/.gimp*/ $2/.gimp*/

Si quelqu'un à des idées, je suis tout ouïe.

Dernière modification par Autiwa (Le 12/10/2013, à 20:30)


Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.

Hors ligne

#2 Le 12/10/2013, à 19:50

pingouinux

Re : [Résolu] rsync et expression régulière

Bonsoir,
Essaye ceci :

for i in "$1"/gimp*; do echo rsync -av "$i/" "$2"/"${i##*/}/"; done

Si c'est bon, tu enlèves le echo.

Hors ligne

#3 Le 12/10/2013, à 20:16

Autiwa

Re : [Résolu] rsync et expression régulière

Merci pour ta réponse.

Je viens de faire un script minimal pour tester et ça ne fonctionne pas.

Voici le script :

#!/bin/bash

function backup_home() 
{
for i in "$1"/gimp*; do echo rsync -av "$i/" "$2"/"${i##*/}/"; done

}

perso="/home/autiwa"
backup="/media/daily_backup"


source[0]=$perso
destination[0]="$backup/home_autiwa"

backup_home ${source[0]} ${destination[0]}

Voici le résultat :

autiwa@autiwa-desktop:~$ test.sh
rsync -av /home/autiwa/gimp*/ /media/daily_backup/home_autiwa/gimp*/

Je vais essayer de regarder ça, c'est peut-être une histoire de guillemets ou je sais pas trop quoi. Quand j'aurai trouvé la réponse, je la posterai afin de clore le sujet. C'est parti pour la bidouille ! :-)


Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.

Hors ligne

#4 Le 12/10/2013, à 20:27

pingouinux

Re : [Résolu] rsync et expression régulière

Ah oui, j'ai oublié le "." devant gimp :

for i in "$1"/.gimp*; do echo rsync -av "$i/" "$2"/"${i##*/}/"; done

Hors ligne

#5 Le 12/10/2013, à 20:30

Autiwa

Re : [Résolu] rsync et expression régulière

Le pire c'est que j'avais corrigé dans une autre ligne, mais pas dans l'ECM. Merci pour ton aide, ça fonctionne parfaitement !

La solution donc :

for i in "$1"/.gimp*; do rsync -av "$i/" "$2"/"${i##*/}/"; done

Dernière modification par Autiwa (Le 11/11/2013, à 08:52)


Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.

Hors ligne