Boucle mount

Résolu
Bonjour

j'ai fait un petit script shell qui m'allume un VM au démarrage de mon pc (ça c'est ok )

et qui me l'affiche en plein ecran (ok aussi)

Par contre j'au aussi une ligne pour monter un point de montage (partage fichier windows entre le linux et la vm windows)

MOUNTPOINT=MON/POINT/

MOUNTDELAY=10
while ! mount | grep "on ${MOUNTPOINT}"  >> /var/tmp/start.out
do
    sleep 10
 echo "waiting for mount point ..."  >> /var/tmp/start.out
    # montage partage VM/indus
 mount.cifs -vvv \\\\ipVM/monpartage ${MOUNTPOINT} -o user=user,password=""
done


ça marche sauf que ça me le monte 10 fois de suite et je ne comprends pas .

Pouvez vous m'aider s'il vous plaît

Merci

5 réponses

  1. bonjour,

    je galère impossible de trouver

    une idée ?
    0
    1. Modérateur
      Bonjour,

      Ça me paraît hyper compliqué, je pense que tu devrais plutôt faire un truc basé sur
      tail -f
      comme proposé dans cette discussion.

      Ça vaudrait le coup aussi de ne déclencher la commande
      mount.cifs ...
      que si le point de montage n'est pas déjà peuplé (e.g. en consultant
      /etc/mtab
      ou le résultat de la commande
      mount
      ).

      Bonne chance
      0
      1. bonjour

        j'avais publié mon message dans un autre forum

        en gros j'ai resolu j'ai fait une analyse sur le ping tant que ma vm ne ping pas je ne monte pas et ça fonctionne parfaitement bien depuis

        en tout cas merci pour ton aide
        0
        1. Modérateur
          Merci Tom, n'hésite pas à partager ton script, il servira peut-être aux personnes qui pourraient tomber sur cette discussion. Bonne continuation
          0
          1. Pas de souci :

            #!/bin/bash
            #Script de lancement VM
            #NOM_DE_LA_VM
            DOM="Mavm"
            MOUNTPOINT=/répertoire/monté/
            
            #Démarrer la VM
            virsh --connect qemu:///system start $DOM &
            
            
            until ping -c1 iphote >/dev/null 2>&1; do :; done
            mount.cifs \\\\iphote/data ${MOUNTPOINT} -o user=user,password=""
            
            
            #Lancer la VM en plein ecran
            #on local display main screen (0)
            
            echo "============================================" >> /var/tmp/startvm.out
            echo "START VM" >> /var/tmp/startvm.out
            echo "The time the script run was -->  `date`" >> /var/tmp/startvm.out
            
            export DISPLAY=:0
            virt-viewer --connect qemu:///system -f $DOM
            
            0
            1. Modérateur
              Merci :-)
              0