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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?

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