OVH Cloud OVH Cloud

Script if mount

24 réponses
Avatar
ols
Bonjour,

Je ne sais pas comment récupérer l'état d'un mount pour le tester ensuite
avec une condition, lorsque je consulte le man, rien n'indique un retour de
résultat.

Je veux, grossièrement, que si un disque est monté, je puisse copier
dessus, sinon on ne fait rien...

Cordialement,
OLS

10 réponses

1 2 3
Avatar
Benoit Izac
Bonjour,

le 14/09/2006 à 15:45, ols a écrit dans le message
:

Je ne sais pas comment récupérer l'état d'un mount pour le tester
ensuite avec une condition, lorsque je consulte le man, rien n'indique
un retour de résultat.

Je veux, grossièrement, que si un disque est monté, je puisse copier
dessus, sinon on ne fait rien...


#!/bin/sh
DIR=/tmp
MOUNT=`df | awk -v d="$DIR" '{if ($6 == d) {print}}'`
if [ -n "$MOUNT" ]; then
# il est mounté, on peut copier
fi

--
Benoit Izac

Avatar
Benoit Izac
Bonjour,

le 14/09/2006 à 15:45, ols a écrit dans le message
:

Je ne sais pas comment récupérer l'état d'un mount pour le tester
ensuite avec une condition, lorsque je consulte le man, rien n'indique
un retour de résultat.

Je veux, grossièrement, que si un disque est monté, je puisse copier
dessus, sinon on ne fait rien...


#!/bin/sh
DIR=/tmp
MOUNT=`df | awk -v d="$DIR" '{if ($6 == d) {print}}'`
if [ -n "$MOUNT" ]; then
# il est monté, on peut copier
fi

--
Benoit Izac

Avatar
Stephane Chazelas
On 14 Sep 2006 13:45:46 GMT, ols wrote:
Bonjour,

Je ne sais pas comment récupérer l'état d'un mount pour le tester ensuite
avec une condition, lorsque je consulte le man, rien n'indique un retour de
résultat.
[...]


Une caracteristique d'un mount point (a part /) est que "$DIR/."
et "$DIR/.." ont un device_id differents.

Malheureusement, il n'y a pas de commande standard qui retourne
le device id.

Il y a GNU find, GNU stat et zsh stat.

find "$DIR/." -prune -printf '%Dn;

Sinon, si df "$DIR/." "$DIR/.." retourne 2 lignes differentes
est une autre maniere de proceder.

DIR=/tmp
if df "$DIR/." "$DIR/.." | awk '{a=b;b=$0};END{exit (a == b)}'
then
printf '"%s" est un mount pointn' "$DIR"
fi

--
Stephane

Avatar
vincent.verdon
Bonjour,

Bonjour,

Je ne sais pas comment récupérer l'état d'un mount pour le tester ensuite
avec une condition, lorsque je consulte le man, rien n'indique un retour de
résultat.

Je veux, grossièrement, que si un disque est monté, je puisse copier
dessus, sinon on ne fait rien...


Peut-être suis-je à côté de la plaque, étant loin d'être un gourou Unix,
mais... on trouve en principe dans le fichier /etc/mtab, la liste des
disques montés actuellement, non ?


Cordialement,
OLS


Amicalement, Vincent Verdon

Avatar
lhabert
"" :

on trouve en principe dans le fichier /etc/mtab, la liste des disques
montés actuellement, non ?


Sous linux, oui, mais ça n'a rien de standard. Et accessoirement, il est
plus fiable de regarder /proc/mounts.

Avatar
vincent.verdon
Bonsoir,


Sous linux, oui, mais ça n'a rien de standard. Et accessoirement, il est
plus fiable de regarder /proc/mounts.


Merci, je ne connais effectivement pas d'autre Unix que Linux. Désolé.
Proc est standard, lui ?

Amicalement, Vincent Verdon

Avatar
Benoit Izac
Bonjour,

le 18/09/2006 à 18:43, vincent a écrit dans le message
<eemhui$1vo$ :

Sous linux, oui, mais ça n'a rien de standard. Et accessoirement, il
est plus fiable de regarder /proc/mounts.


Merci, je ne connais effectivement pas d'autre Unix que Linux. Désolé.
Proc est standard, lui ?


Non.

--
Benoit Izac


Avatar
lhabert
"" :

Proc est standard, lui ?


Pas du tout. Sous les deux autres unix que je connais (solaris et freebsd),
/proc ne contient que les répertoires correspondants aux PID.

Avatar
Emmanuel Florac
Le Mon, 18 Sep 2006 17:12:19 +0000, Luc Habert a écrit :


Pas du tout. Sous les deux autres unix que je connais (solaris et
freebsd), /proc ne contient que les répertoires correspondants aux PID.


Et puis mtab est quand même quasi standard. Ça existe sur tous les Unix
que je pratique... sauf Mac OS X.

--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando

Avatar
lhabert
Emmanuel Florac :

Et puis mtab est quand même quasi standard. Ça existe sur tous les Unix
que je pratique... sauf Mac OS X.


Là, j'ai accès à des solaris 8 et 9 et des freebsd 5.1, aucun n'a de mtab.

1 2 3