rsync via ssh include et exclude
Bonjour,
Je m'arrache les cheveux sur une basique (je pensais) ligne de commande pour rsync
l'environnement:
- un debian en tant que serveur distant
- un NAS Synology en local
- le script se trouve et est exécuté sur le NAS (rsync v3.0.9) et se connecte au serveur debian via ssh
- rsync n'est pas en deamon sur aucun des 2
Le but, rapatrier certains dossiers et sous dossiers (et leur contenu) présent sur le serveur debian vers le NAS..., .
Il m'est impossible de récupérer uniquement le ou les dossiers qui m’intéresses.
En fonction de mes essais, je récupére soit aucun fichiers, soit la globalité (si j'enleve la directive --exclude)
Je reussi a obtenir ce que je souhaite uniquement si j'ajoute nominativement les dossiers à exclure,
ce qui n'est pas possible pour moi, car à chaque changement je dois modifier le script.
Dans l'exemple suivant, je voudrais récupérer uniquement le Dossier+contenu du dossier /DATAS/BACKUP
(il y a bien sur plein d'autre dossiers dans /DATAS)
le script de base est le suivant (version de test):
Code:
1 2 3 4 5 6 7 8 9
|
LPATH=/volume1/SAUVEGARDES
RPATH=/DATAS
rsync -a -v -n --stats \
--include="/BACKUP/" \
--include="/BACKUP/**" \
--exclude="*" \
-e "ssh -p 22" user_debian@host_debian:$RPATH $LPATH |
:
J'ai essaye avec un --include-from comme:
Code:
1 2 3
| + BACKUP/
+ BACKUP/**
- * |
et aussi avec un --include-from plus --exclude-from, mais le résultat est toujours le même...
c'est comme si le paramétre --exclude* avait priorité sur le --include* ou que les deux soient nécessaires, ce qui me perturbe beaucoup car je ne voit pas l’intérêt.
je pensais naïvement au depart que tout ce qui n'etait pas dans un --include serait ignoré et l'inverse pour --exclude, ce qui ne semble pas le cas ? :roll:
Merci pour vos remarques, vos conseils, vos detections d'erreur, car franchement je seche et depuis le temps que j'y suis ca me prend la tête :(
Thierry