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 :

Verifier le montage des File Sytem


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Par défaut Verifier le montage des File Sytem
    Bonjour,

    Je suis entrain de realiser un script, et il faudrait qu'il verifie si les FS devant etre montés au demarrage de la machine sont bien montés.
    Je n'ai pas vraiment trouvé ce que je cherchais sur les anciens messages du forum.
    J'avais pensé a verifier la concordance entre le fichier "etc/fstab" et la commande "df -a" mais j'aurai aimé savoir comment on sait quels FS doivent etre montés au demarrage ? C'est tout ceux qui sont dans "etc/fstab" tout simplement ?

    En tout cas je ne pense pas qu'il y ait une commande qui permette de verifier ca...

  2. #2
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Oui c'est tout ceux qui sont dans /etc/fstab
    Mais seulement les FileSystem, les autres montages comme /proc et co ne sont visible qu'avec mount

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Par défaut
    Merci pour ta reponse SnakeMaN !
    Je bug un peu la sur mon code, a la fin, je voudrais juste retourner 1 si tout est ok, ou 0 si ne serait ce qu'un FS n'est pas monté...

    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
    22
    23
    24
    25
    26
     
     
    #! bin/bash
     
    # On envoi le resultat de la commande dans le fichier temporraire 'fic'
    df > fic
    # On fait un premier parcours pour les entrees de 'fstab' ayant pour type de FS "ext2/ext3/ufs/hfs/vxfs/tmpfs/psfs"
    cat /etc/fstab |egrep "ext2|ext3|ufs|hfs|vxfs|tmpfs|psfs" | awk '{ print $2}' | while read ligne
    do
     
    #on fait un parcours imbrique en lisant le fichier 'fic' contenant le resultat de la commande 'df'
    cat fic | awk '{ print $6}' | while read l
            do
                    # On regarde si le FS de fstab est compris dans fic, ce qui voudrait dire qu'il est bien monte
                    i=$(cat $fic | grep -w $ligne | wc -l)
                    # Si c'est pas le cas alors
                    if test $i -eq 0
                    then
     
                            echo 0
                    else
                            echo 1
                    fi
     
            done
    done
    Je me melange un peu les pinceaux dans mon code... Pour le moment ca affiche 1 1 1 1 1, le nombre de ligne qu'il y a dans le fichier, ou 0, 0, 0, etc...

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Par défaut
    J'ai voulut passer ca en fonction, en me disant que des qu'on rencontre un FS qui n'est pas monté on retourne 0, sinon on laisse la fonction se finir et on retourne 1 mais meme ca je n'y arrive pas...
    Un peu d'aide ?

    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
    22
    23
    24
    25
    26
    27
    28
     
     
    function montage()
    {
    # On envoi le resultat de la commande dans le fichier temporraire 'fic'
    df > fic
    # On fait un premier parcours pour les entrees de 'fstab' ayant pour type de FS "ext2/ext3/ufs/hfs/vxfs/tmpfs/psfs"
    cat /etc/fstab |egrep "ext2|ext3|ufs|hfs|vxfs|tmpfs|psfs" | awk '{ print $2}' | while read ligne
    do
     
    #on fait un parcours imbrique en lisant le fichier 'fic' contenant le resultat de la commande 'df'
    cat fic | awk '{ print $6}' | while read l
            do
                    # On regarde si le FS de fstab est compris dans fic, ce qui voudrait dire qu'il est bien monte
                    i=$(cat $fic | grep -w $ligne | wc -l)
                    # Si c'est pas le cas alors
                    if test $i -eq 0
                    then
                            exit 0
                    fi
            done
    done
    exit 1
    }
     
     
    montage
    echo $?
    Ca ne marche pas, j'arrive pas a recuperer la valeur de l'exit ou un return, rien...
    Comment recupere t-on la valeur d'un exit d'une fonction ?

  5. #5
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Citation Envoyé par ChrisMan
    Ca ne marche pas, j'arrive pas a recuperer la valeur de l'exit ou un return, rien...
    Comment recupere t-on la valeur d'un exit d'une fonction ?
    Bé comme tu as fais.

    Je suis sous win au boulot donc je ne peux pas tester ta fonction, mais ce que je te conseille c'est de tester petit bout par petit bout.

    T's sur que le premier parcours de cat fonctionne ?, les fichiers fstab different un peu des fois, et de fois il y a des commentaires

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Par défaut
    Ma fonction marche pas sur ton PC ?

    Oui je suis quasi certains que mon premier parcours fonctionne, en fait mon probleme est que j'aimerais faire un truc tout simple.
    Je veux verifier que chaque "mot" d'une "liste" (fichier /etc/fstab) sont present dans une autre "liste" (fichier temporaire contenant le resultat de la commande df). -> ca ca marche niquel, j'ai aucun probleme.
    Le truc est que je voudrais renvoyer 1 si tout est ok, et 0 si tout n'est pas Ok, et le probleme vient des "sous shell" a ce que j'ai compris qui pose probleme pour la porté des variables donc je peux pas faire simplement si un mot n'est pas present alors fin=0 en initialisant fin a 1 et en retournant 1 a la fin...
    C'est pour ca que j'ai voulut créer une fonction afin de pouvoir sortir directement des qu'un "mot" n'y est pas.
    Tout marche sauf que j'arrive pas a sortir de la fonction comme j'aimerais...

    Je sais pas si je suis tres claire

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

Discussions similaires

  1. Caractéristiques des différents files sytems
    Par Menhir dans le forum Autres systèmes
    Réponses: 0
    Dernier message: 30/05/2013, 14h31
  2. [OLAP]verifier l'intégrité des données
    Par crazy dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/07/2006, 12h30
  3. Equilibrage du file sytem -> copie de repertoire
    Par soulryo dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 10/11/2005, 16h36
  4. Changer les points de montages des partitions
    Par Thrystan dans le forum Administration système
    Réponses: 6
    Dernier message: 13/08/2004, 16h46
  5. A propos des 'File management Functions' de Windows
    Par znaidi dans le forum Windows
    Réponses: 3
    Dernier message: 01/04/2003, 16h01

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