IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

rsync via ssh include et exclude


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Par défaut 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 : 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

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Si j'ai bien tout compris, le but est de rapatrier juste le contenu de /volume1/SAUVEGARDES/BACKUP ?

    Si oui, un simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LPATH=/volume1/SAUVEGARDES
    DIR=/BACKUP
    RPATH=/DATAS
     
    rsync -a -v -n --stats -e "ssh -p 22" user_debian@host_debian:$RPATH ${LPATH}${DIR}
    Devrait faire l'affaire, non ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Si j'ai bien tout compris, le but est de rapatrier juste le contenu de /volume1/SAUVEGARDES/BACKUP ?
    sur le distant (debian) /DATAS contient des dossiers dont le dossier BACKUP
    a rapatrier sur le NAS, qui execute rsync, dans /volume1/SAUVEGARDE/BACKUP

    il y a bien sur plusieurs dossiers a rapatrier... BACKUP etant la pour l'exemple.

    Du coup oui ca me fait penser a un rsync par dossier a recuperer...
    mais c'est un peut lourd non ? et dnas ce cas a quoi servent donc include et exclude (!)

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    il y a bien sur plusieurs dossiers a rapatrier... BACKUP etant la pour l'exemple.
    Peut-on avoir une idée concrète de ce que contient "/DATAS" (listing), de ce que tu veux concrètement sauvegarder (inclure) et ne pas sauvegarder (exclure) ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Peut-on avoir une idée concrète de ce que contient "/DATAS" (listing), de ce que tu veux concrètement sauvegarder (inclure) et ne pas sauvegarder (exclure) ?
    Un exemple de /DATAS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /DATAS/BACKUP
    /DATAS/VZ
    /DATAS/LOCAL
    /DATAS/WEBs
    /DATAS/shares
    /DATAS/ftp
    /DATAS/CLIENTS
    ...
    :DATAS/lost+found
    /DATAS/test
    au total une 20en de dossiers... et cela n'est pas figé, il peut y avoir des ajouts...

    ceux que je veux recuperer, je les connais et par exemple ont va dire BACKUP, VZ, LOCAL
    le reste, tout le reste (non connu, car change) je veux l'ignorer...

    Style (d'apres le man rsync, pour un --include-from, mais qui marche pas ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    + BACKUP/
    + BACKUP/**
    + VZ/
    + VZ/**
    + LOCAL/
    + LOCAL/**
    - *
    avec ca je recupere rien...., si j'enleve "- *", je recupere tout, sic!

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    As-tu essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    + */
    + BACKUP/
    + BACKUP/**
    + VZ/
    + VZ/**
    + LOCAL/
    + LOCAL/**
    - *

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Par défaut
    j'avance !! et je crois avoir fini par trouver le "probleme"

    Script d'origine:
    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
    le script ci dessus tel quel qui ne fonctionnait pas
    il me suffit de rajouter un slash de fin: RPATH=/DATAS/
    et maintenant ca marche

    j'ai fait le meme essai avec cette fois l'option --include-from, et pareil, ca marche

    fichier de config:
    + /BACKUP/
    + /BACKUP/**
    + /VZ/
    + /VZ/**
    + /LOCAL/
    + /LOCAL/**
    - *
    Script:
    LPATH=/volume1/SAUVEGARDES
    RPATH=/DATAS/

    rsync -a -v -n --stats --include-from="include.config" -e "ssh -p 22" user_debian@host_debian:$RPATH $LPATH

    Bref reste a valider dans le concret... j'enleve le "dry-run" et logiquement ca va allez...

    je passe en résolu après mes essais réels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher un retour à la ligne via un include
    Par harlock59 dans le forum Langage
    Réponses: 8
    Dernier message: 16/12/2005, 14h31
  2. Probleme rsync avec ssh
    Par cybernetique dans le forum Réseau
    Réponses: 4
    Dernier message: 24/08/2005, 10h43
  3. Uploader des fichiers via ssh
    Par Michaël dans le forum Réseau
    Réponses: 3
    Dernier message: 13/05/2005, 20h47
  4. Comment sauvegarder MySQL via SSH ?
    Par Blade dans le forum Administration
    Réponses: 7
    Dernier message: 30/09/2004, 14h03
  5. [cvs] Jbuilder 9, Cvs Via Ssh Sous Windows
    Par SurfingPoP dans le forum JBuilder
    Réponses: 3
    Dernier message: 13/02/2004, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo