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

Shell et commandes GNU Discussion :

script en bash de raid 1 entre deux disques


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut script en bash de raid 1 entre deux disques
    Bonjour,

    Le bash est assez nouveau pour moi et je désire réaliser comme mon titre de sujet l'indique un script qui fasse office de raid1 en bash.
    Je suis en étude de programmation, les conditions, les boucles, et les cases me sont assez familier.

    Cependant certaines choses m'échappent, je vais donc commencer par la comparaison,
    je désire comparer deux disques, c'est a dire lister les dossiers et fichiers d'un coté, puis lister de même de l'autre disque, puis comparer les deux .

    mais je ne connais pas bien les commandes.

    merci pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    rsync semble tout indiqué.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Merci pour cette réponse en effet cela a l'air tout indiquer,
    je reste toute fois sur mon idée de script ce qui me permettrait au mieux d'apprendre.

    Merci d'avance

  4. #4
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    rsync est l'outil de base mais rien n'empêche de faire un script en fonction de tes contraintes (vérifier le montage des disque avant, etc...).
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Salut
    mes deux disque sont bien monter sans problème.

  6. #6
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    la méthode crade mais facile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ls -lRth /point_de_montage/* > /tmp/liste_locale
    ssh -l user@host "ls -lRth /point_de_montage/*" > /liste_distente
    for i in $(diff /tmp/liste_locale /tmp/liste_distante | grep -i "<") ; do
    scp $i user@host:/point_de_montage/$i  
    ; done

    /!\ au sens de transfert par rapport au sens de la comparaison dans le grep /!\

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    pourquoi crade?
    tu peux commenter stp?

    merci

  8. #8
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Citation Envoyé par darktererur
    Salut
    mes deux disque sont bien monter sans problème.
    Je crois que tu n'as pas bien compris mon propos.

    J'explique donc.
    L'utilisation comme je te le suggérais de rsync ne peut fonctionner que si le disque source et destination sont bien monter. Donc il apparait comme "évident" de le vérifier dans le script avant de lancer la synchronisation. Ce genre de petite vérification peut tout simplement t'éviter bien des déboires par la suite.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Bonsoir,
    je vous remercie de toute cette attention.
    Rassurez vous j'ai effectivement bien compris, sous linux pour qu'un disque soit bien installé, il faut monter les disques, pas physiquement, mais par ligne de code.
    Je confirme donc qu'ils sont bien montés, en revanche je reste donc sur le principe de créer un script plutôt que d'utiliser un programme ou module, cela me permettrait d'apprendre un peu mieux le bash.

  10. #10
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Bonjour,

    Voici une solution, pas à mettre en production, mais qui permet de découvrir Bash:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #!/bin/bash
     
    srcDir=$1
    dstDir=$2
     
    # check arguments
    if [[ ! -d $srcDir ]] || [[ ! -d $dstDir ]]
    then
      echo "Usage: ${0##*/} srcDir dstDir"
      exit 1
    fi
     
    # get lists
    find $srcDir > /tmp/tmp.src
    find $dstDir > /tmp/tmp.dst
     
    # display diff
    diff /tmp/tmp.src /tmp/tmp.dst
     
    # cleanup
    rm -f /tmp/tmp.{src,dst}
    Je ne l'ai pas testée, j'espère qu'il n'y a pas d'erreur. On voit:

    • comment faire des tests (if),
    • comment utiliser les arguments d'un script ($0, $1, $2),
    • comment extraire des sous-chaines d'une variable (${0##*/}),
    • comment utiliser les redirections (>),
    • comment lister plusieurs fichiers qui ont une partie commune (tmp.{src,dst}).

    Bonne découverte...

  11. #11
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par darktererur Voir le message
    pourquoi crade?
    tu peux commenter stp?

    merci
    parce que :
    • un code non commenté est une erreur
    • un code non indenté est une erreur
    • cette méthode elle même est une erreur sauf au sens de se former



  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Sympa merci
    je connais la programmation
    ce sont les commande que je ne connais pas
    Mhhh je ne comprend pas tout, est-il possible de me le détailler plus SVP?

    merci d'avance

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    pouvez vous me dire comment se comporte linux
    est il possible de tout lister d'un seul coup, ou dois je lister les dossier lui dire de rentrer dedans puis de lister les fichiers?

  14. #14
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    presque chaque commande à une fonction de recursion

    avec ls par exemple ls -lrthR

Discussions similaires

  1. [MooTools] Conflit entre deux scripts utilisant du Mootools
    Par kurkaine dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 24/02/2011, 19h59
  2. Variable entre deux fichiers java script
    Par Canard64 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/05/2008, 15h58
  3. Réponses: 4
    Dernier message: 16/04/2008, 11h12
  4. compatibilité entre deux scripts
    Par stars333 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 12/02/2008, 19h46
  5. Problème de compatibilité entre deux scripts
    Par frutix dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2006, 14h24

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