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

Debian Discussion :

rsync ? Oui mais comment ?


Sujet :

Debian

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut rsync ? Oui mais comment ?
    Bonjour,

    Voila, j'ai un PC sous Debian et un Serveur de fichiers... sous Debian également.

    Je voudrais réaliser des sauvegardes du serveur sur ce PC !

    Si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rsync -avr -e 'ssh' serveur:/dossier/ /mnt/svg_serveur/
    dans un terminal, il me demande un mot de passe et après ça roule !

    Si je place cette commande dans un cron (crontab -e) il ne se passe rien !

    Quelqu'un peut m'expliquer ? Je commence sérieusement à me demander si Linux était la bonne solution !

  2. #2
    Membre éprouvé Avatar de exodev
    Inscrit en
    Septembre 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2009
    Messages : 201
    Par défaut
    Hello,

    La réponse est dans ton message

    dans un terminal, il me demande un mot de passe et après ça roule !
    La tâche cron ne lancera pas de prompt pour le password, d'où l'échec

    ce passage dans le man de rsync devrait t'intéresser :

    Some modules on the remote daemon may require authentication. If so,
    you will receive a password prompt when you connect. You can avoid the
    password prompt by setting the environment variable RSYNC_PASSWORD to
    the password you want to use or using the --password-file option. This
    may be useful when scripting rsync.

    WARNING: On some systems environment variables are visible to all
    users. On those systems using --password-file is recommended.

  3. #3
    Membre expérimenté
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Par défaut
    l'idée via ssh est d'utiliser un échange de clefs entre le serveur et le client
    via les fichiers authorized_keys.

    Recherche sur google authorized_keys
    tu trouveras des tutoriels sur le sujet.

    C'est très simple à mettre en oeuvre.

  4. #4
    Membre Expert

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Par défaut
    Bonjour,

    En crontab, il faut aussi mettre le chemin complet vers les binaires rsync et ssh.
    En effet, le PATH n'est pas défini lors des exécutions par Crontab

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    D'abord, merci pour toutes vos réponses.

    Le RSYNC_PASSWORD ne marche pas, ni le --password-file, j'ai essayé !

    Pour ce qui est des chemins, ils sont complets, pas de soucis de ce coté là !

    Je vais donc me tourner vers les authorized_keys !

    J'espère m'en sortir (j'suis pas doué sous Linux, c'est un autre monde pour moi ! )
    Si j'ai d'autres soucis, je reviens vous voir !

    Et je vous tiens au courant de mes aventures sur la banquise !

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Bon, question concernant les authorized_keys .

    Dans les divers faq et forums, les exemples parlent de "ssh-keygen -t dsa ou rsa ou rien !

    Quelle est la différence et que dois-mettre ?

    Autre point les versions de Debian ne sont pas identiques, est-ce que ça peut être une source de problème ?

  7. #7
    Membre Expert

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Par défaut
    Par défaut, l'algorithme doit être RSA.
    Après, c'est un algorithme de chiffrage....

    La compatibilité de ces modes de chiffrement n'est pas fonction de la distribution (version de debian) mais de tes serveurs SSH. Néanmoins, cela devrait être comptatible (ces deux algo étant implémentés depuis assez longtemps.

    Aussi, n'oublie pas d'activer le mécanisme de clés partagées sur le serveur sur lequel tu veux t'authentifier automatiquement. Il faut décommenter la ligne contenant "authorized_keys" dans le fichier sshd.conf et redémarrer le démon sshd
    (c'est désactivé par défaut sur les distributions debian)

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Merci pour ces compléments d'informations...

    Euh, comment on relance le daemon ?

  9. #9
    Membre Expert

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Par défaut
    la commande suivante suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /etc/init.d/ssh restart

  10. #10
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Merci.

    Une question qui me trouble un peu.

    Si je me place dans le dossier /etc/init.d et que je fait un ssh restart
    j'ai un message du genre "
    ssh restart : name or service not known
    si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /etc/init.d/ssh restart
    Ca fonctionne !

    Pourquoi ?

  11. #11
    Membre expérimenté
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Par défaut
    C'est une question de PATH

    La variable PATH est définie dans ton environnement.

    Quand tu lances une commande exécutables, le shell de ta ligne de commande recherche la commande que tu souhaites exécuter dans les répertoires se trouvant renseignés dans la variable PATH. Voila pour le principe.

    Dans ton cas, je ne pense pas que la variable PATH contienne le chemin /etc/init.d, donc la commande ssh n'est pas trouvée dans /etc/init.d mais plutôt dans /usr/bin/ssh.

    Pour vérifier essaye : type ssh

  12. #12
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Exact c'est /usr/bin/ssh

    Toutefois, en étant placé dans le dossier concerné, je pensais qu'il regardait d'abord là où il était, avant de chercher dans le path.

  13. #13
    Membre expérimenté
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Par défaut
    Pour cela il faut que PATH contienne le caractère point.

    export PATH=.:$PATH

    Mais attention, ceci peut créer des effets indésirable, exemple,

    sous unix il existe la commande 'test' très utilisée en développement shell, supposons
    que tu nommes un de tes fichiers 'test', que se passe t-il ?

    et dans ce cas export PATH=$PATH:. que se passe t-il ?

    Il faut faire attention à la variable PATH, ce n'est pas une variable anodine.

  14. #14
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Je rebondie sur d'autres questions concernant RSYNC.

    1. Comment faire pour appliquer un user et un group spécifiques aux fichiers sur la destination ?
    2. Comment exclure des dossiers de la source que je ne vaux pas sauvegarder ?


    Merci d'avance

  15. #15
    Membre expérimenté
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Par défaut
    Avec rsync tu peux faire :

    man rsync

    Reponse à 2 :
    ===========

    utiliser --exclude, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    --exclude '/**/cache/' --exclude 'CACHE/' --exclude '*http-bin*'

    Reponse à 1 :
    ===========

    --owner
    --group
    voir aussi --numeric-ids

    Je te conseille de bien lire le man à ce sujet il y a quelques précisions
    intéressantes.

  16. #16
    Membre Expert

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Par défaut
    Citation Envoyé par ericduval Voir le message
    export PATH=.:$PATH

    Mais attention, ceci peut créer des effets indésirable, exemple,
    Ca peut être plus qu'indésirable, ca peut aussi être assez dangereux. Une personne malintentionnée peut déposer des binaires ayant des noms de commandes "standard" comme ls, rm... et qui ont un comportement indésirable.

    De plus, cela peut fortement complexifier l'écriture de scripts, qui n'auront pas du tout le même comportement en shell ou en crontab.
    Attention, donc !

    Si tu veux exécuter un script ou un binaire se trouvant dans le répertoire courant, je te conseille très fortement de prendra l'habitude de commencer ta commande par ./ par exemple, quand tu étais dans /etc/init.d, il falait exécuter :
    ./ permet de spécifier que tu veux utiliser le fichier se trouvant dans le répertoire courant ; et donc, ne pas chercher dans les chemins de $PATH

  17. #17
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    OK, j'ai compris pour le PATH ! Pas de soucis !

    Le problème que j'ai ce matin, c'est que le cron de root ne s'est pas lancé, en si, il s'est lancé, mais les rsync n'ont pas peu avoir lieu ! Et pas à cause d'une syntaxe foireuse, mais parceque le dossier /home/root à disparu !
    Résultat, pas de /home/root/.ssh et donc pas de clé ssh et donc pas de connexion au serveur !

    Comment est-ce possible, et comment réparé ?
    Ce truc devient un monstre !

  18. #18
    Membre expérimenté
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Par défaut
    /home/root ou /root ?

    Très souvent le "home directory" de l'utilisateur root est /root.

    Tu peux le vérifier en regardant dans le fichier /etc/passwd :

    grep "^root:" /etc/passwd | cut -f6 -d:

  19. #19
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    C'est bien /home/root
    la ligne de commande du grep que tu m'as fourni donne d'ailleurs "/home/root"

    Et ce dossier a été viré ! Comment ? Pourquoi ? Et surtout comment réparé ?

    Merci pour ton aide

  20. #20
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Bon, je vais créer une nouvelle discussion, car le probleme du dossier root ne concerne pas le rsync

    Je ne met pas résolu car, j'ai toujours pas réussi à réaliser mes sauvegardes, mais pour le moment le probleme est du au /home/root qui a disparu !

Discussions similaires

  1. Débuter, oui, mais comment ?
    Par Idealik dans le forum Débuter
    Réponses: 17
    Dernier message: 13/02/2008, 00h43
  2. [Winsock] Un chat, oui, mais comment ?
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/02/2007, 04h09
  3. [Système] LA OOP, oui mais comment concrètement ?
    Par HALOMOTO dans le forum Langage
    Réponses: 2
    Dernier message: 05/10/2006, 17h43
  4. Les Sprites oui, mais comment?
    Par tametale dans le forum Développement 2D, 3D et Jeux
    Réponses: 16
    Dernier message: 19/06/2006, 09h11
  5. HomeDB, oui mais comment ?
    Par Gregouz dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 27/10/2004, 15h27

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