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. 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
    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
      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
        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
          
          1. Modérateur
            Merci :-)