Forum général.général Rsync problème avec include et exclude

Posté par  .
Étiquettes : aucune
0
13
jan.
2006
Bonjour,

je voudrais réaliser une sauvegarde via rsync de mes homes utilisateurs. Jusqu'à là rien de compliquer, mais je voudrais ne sauvegarder que les dossiers du types
/home/[USER]/Documents/, et cela de façon la plus simple possible.

J'ai donc la commande rsync suivante :
rsync -v --archive --exclude-from=./etc/exclude.cfg victoria::HOME/ /data/baieA/victoria/

je regarde la doc de rsync et quelques page html sur le net pour construire le fichier exclude.cfg

ce qui me donne ça :

+ /**/Documents/
- *

Selon moi ça devrait prend que les sous répertoire de type Documents, et exclure le reste. Et bien ça ne marche pas comme je le voudrais, tous les fichiers sont exclus.

Donc si quelqu'un avait la solution à mon problème.
Merci.
  • # mauvais pattern ?

    Posté par  . Évalué à 1.

    Ton exemple est cité dans la page de manuel de rsync:

    INCLUDE/EXCLUDE PATTERN RULES

    [...] If a pattern excludes a particular parent directory, it can ren-
    der a deeper include pattern ineffectual because rsync did not descend
    through that excluded section of the hierarchy. This is particularly
    important when using a trailing '*' rule. For instance, this won't
    work:

    + /some/path/this-file-will-not-be-found
    + /file-is-included
    - *

    This fails because the parent directory "some" is excluded by the '*'
    rule, so rsync never visits any of the files in the "some" or
    "some/path" directories. One solution [...]


    Il faut revoir ta règle d'exclusion (et je te conseille d'approfondir la lecture du manuel ;) )
  • # une autre approche

    Posté par  . Évalué à 1.

    et pourquoi pas:

    cd /home && for i in `ls -d */Documents` ; do rsync -option $i host:/path/$i ; done

    tu peux test si ca te convient avec:
    cd /home && for i in `ls -d */Documents` ; do echo "rsync -option $i host:/path/$i "; done

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.