[udev] montage usb (résolu )

Reconnaissance et configuration du matériel / kernel linux
Répondre
Avatar de l’utilisateur
nmy
archer
Messages : 118
Inscription : dim. 21 juin 2009, 21:56
Localisation : Belgique

[udev] montage usb (résolu )

Message par nmy »

bonsoir,

je tente de faire un script backup lorsque je plug un disque dur usb.

donc je branche mon disque dur usb, udev le capte et lance un script qui monte le disque dur, ensuite je backup mes fichiers et le démonte, le seul hic c'est que udev tourne en boucle cad après le umount , udev capte que le disque dur est branche , le script se relance et ainsi de suite.

ma règle udev est la suivante:

SUBSYSTEMS=="usb", ATTRS{serial}=="AA71013000016033", RUN+="/tmp/syncit.sh"

sauf que je voudrais une fois que le disque dur soit démonté udev ne relance pas le script mais seulement quand je plug le disque dur.

quelqu' un à une suggestion?


merci d' avance.
Dernière modification par nmy le mer. 02 déc. 2009, 12:17, modifié 1 fois.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [udev] montage usb (en cours )

Message par tuxce »

salut, je suis pas sûr que le démontage soit la cause, il ne génère normalement pas d'événement udev, par contre la règle doit matcher pas mal d'événement, essaie celle ci:

Code : Tout sélectionner

SUBSYSTEM=="block", ATTR{partition}=="1", ATTRS{serial}=="AA71013000016033", RUN+="/tmp/syncit.sh"
en testant dans le script:

Code : Tout sélectionner

[ "$ACTION" == "add" ]
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Re: [udev] montage usb (en cours )

Message par mélodie »

Bonjour,

Je ne sais pas trop comment on le configure, mais je voudrais signaler l'existence de halevt.
Nom : halevt
Version : 0.1.5-2
URL : http://www.nongnu.org/halevt/
Licences : GPL
Groupes : --
Fournit : --
Dépend de : hal boolstuff libxml2
Dépendances opt. : pmount
Requis par : --
Est en conflit avec : --
Remplace : --
Taille (installé) : 260,00 K
Paqueteur : Unknown Packager
Architecture : any
Compilé le : sam. 17 oct. 2009 11:04:04 CEST
Installé le : sam. 17 oct. 2009 12:18:58 CEST
Motif d'installation : Explicitement installé
Script d'installation : Oui
Description : A daemon that executes arbitrary commands on HAL events
Enfin, ce sont des fichiers xml, juste que je ne suis pas trop rodée avec ça. :)

L'intérêt de ce programme est qu'on doit pouvoir configurer une action en fonction d'une situation.

Voici un .halevt/halevt.xml, juste pour montrer:

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?>
<halevt:Configuration version="0.1" xmlns:halevt="http://www.environnement.ens.fr/perso/dumas/halevt.html">

<halevt:Device match="hal.volume.disc.has_data = true">
<halevt:Insertion exec="pcmanfm"/>
<halevt:Removal exec="killall pcmanfm"/>
</halevt:Device>

<halevt:Device match="hal.volume.disc.has_audio = true">
<halevt:Insertion exec="exaile /mnt/cdrom"/>
<halevt:Removal exec="killall exaile"/>
</halevt:Device>

<halevt:Device match="hal.info.udi = /org/freedesktop/Hal/devices/volume_empty_cd_r">
<halevt:Insertion exec="gnomebaker"/>
</halevt:Device>

<halevt:Device match="hal.info.udi = /org/freedesktop/Hal/devices/volume_empty_cd_rw">
<halevt:Insertion exec="gnomebaker"/>
</halevt:Device>

<halevt:Device match="hal.info.udi = /org/freedesktop/Hal/devices/volume_empty_dvd">
<halevt:Insertion exec="gnomebaker"/>
</halevt:Device>

<halevt:Device match="hal.info.category = storage & hal.storage.bus = usb">
            <halevt:Insertion exec="pcmanfm"/>
            <halevt:Removal exec="killall pcmanfm"/>
          </halevt:Device>

<halevt:Device match="hal.info.category = camera">
            <halevt:Insertion exec="gtkam"/>
          </halevt:Device>

</halevt:Configuration>
Cela me semble pouvoir s'appliquer à ton cas, pourvu que tu trouves les bonnes commandes à inscrire dans un halevt.xml
Avatar de l’utilisateur
nmy
archer
Messages : 118
Inscription : dim. 21 juin 2009, 21:56
Localisation : Belgique

Re: [udev] montage usb (en cours )

Message par nmy »

tuxce a écrit :salut, je suis pas sûr que le démontage soit la cause, il ne génère normalement pas d'événement udev, par contre la règle doit matcher pas mal d'événement, essaie celle ci:

Code : Tout sélectionner

SUBSYSTEM=="block", ATTR{partition}=="1", ATTRS{serial}=="AA71013000016033", RUN+="/tmp/syncit.sh"
en testant dans le script:

Code : Tout sélectionner

[ "$ACTION" == "add" ]
presque ça mais c'est pas dans le script qu'il faut le mettre mais dans la règle udev

SUBSYSTEM=="usb", ACTION=="add", ATTRS{serial}=="AA71013000016033", RUN+="/tmp/syncit.sh"


et voici un mini tuto:

première étape on monte le disque dur et on recupère certaines informations


mount /dev/sdc1 /tmp
udevinfo -a -p /sys/block/sdc


nous avons besoin juste de ces lignes ci:

SUBSYSTEMS=="usb"
ATTRS{serial}=="57442D57584E583038534A32343430"


- maintenant on crée la règle udev qui lancera le script uniquement quand le disque dur sera branché ( pas monté )

echo 'SUBSYSTEMS=="usb", ACTION=="add", ATTRS{serial}=="57442D57584E583038534A32343430", RUN+="/etc/init.d/pragmabackup"' >> /etc/udev/rules.d/99-yourscriptname


- recharger les règles udev



udevcontrol reload_rules
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [udev] montage usb (en cours )

Message par tuxce »

nmy a écrit : presque ça mais c'est pas dans le script qu'il faut le mettre mais dans la règle udev
tu peux le mettre ici ou dans le script, c'est pareil, j'ai proposé dans le script parce que comme je sais pas ce que tu mets dans ce dernier, il peut être intéressant de prévoir la suppression du périphérique.
nmy a écrit : SUBSYSTEM=="usb", ACTION=="add", ATTRS{serial}=="AA71013000016033", RUN+="/tmp/syncit.sh"
tu backup une partition en particulier ou plusieurs partitions ?
normalement cette règle va appeler ton script 2 fois à chaque fois, tu peux le tester en mettant dans le script un truc du genre:

Code : Tout sélectionner

#!/bin/sh
(
echo "-----------------------------" 
date 
echo "-----------------------------" 
env 
) >> /tmp/toto
t'auras 2 résultats.
Sinon, comment tu fais pour deviner le périphérique à monter ? tu utilises les uuid ?
nmy a écrit : première étape on monte le disque dur et on recupère certaines informations
pas obligé, tu peux avoir des infos sans monter.
nmy a écrit :udevinfo -a -p /sys/block/sdc
c'est pas sur archlinux que tu testes, si ?
sur les dernière version d'udev et notamment sur arch:

Code : Tout sélectionner

udevadm info -a -p /sys/block/sdc
nmy a écrit :udevcontrol reload_rules
pas besoin non plus, sinon, comme pour info:

Code : Tout sélectionner

udevadm control --reload-rules
Avatar de l’utilisateur
gyo
Maître du Kyudo
Messages : 1049
Inscription : jeu. 19 avr. 2007, 10:40
Localisation : Nantes (44)

Re: [udev] montage usb (en cours )

Message par gyo »

tuxce a écrit :c'est pas sur archlinux que tu testes, si ?
nmy a écrit :echo 'SUBSYSTEMS=="usb", ACTION=="add", ATTRS{serial}=="57442D57584E583038534A32343430", RUN+="/etc/init.d/pragmabackup"' >> /etc/udev/rules.d/99-yourscriptname

- recharger les règles udev

udevcontrol reload_rules
On dirait pas en tout cas :wink:
commentaire rédigé à l’aide d’un clavier ergonomique bépo
KISS MY ARCH
Avatar de l’utilisateur
nmy
archer
Messages : 118
Inscription : dim. 21 juin 2009, 21:56
Localisation : Belgique

Re: [udev] montage usb (résolu )

Message par nmy »

euh la comprends pas l'intérêt de ces réponses.

Non le serveur de production n' est pas sous archlinux mais sous lenny... Est-ce un crime?

Et sorry mais si ça avait fonctionné sans que je monte le périphérique, je l' aurait fait....

Enfin vais arrêter là, me passerai du forum la prochaine fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [udev] montage usb (résolu )

Message par benjarobin »

Et bien... C'est la journée ou tout le monde se braque a la moindre remarque (pas nécessairement méchante). Bref bonne journée.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [udev] montage usb (résolu )

Message par tuxce »

ah oui, quand même ...
Je notais la différence de distrib que parce que les commandes citées ne fonctionnent pas sous archlinux, je pensais pas être offensant en donnant les commandes qui fonctionnent sous arch !
Et les questions, c'était pour avoir ton avis, j'étais curieux de voir comment tu utilisais ton script, je vois pas où est le mal...

c'est une journée spéciale aujourd'hui ou quoi ?
Avatar de l’utilisateur
gyo
Maître du Kyudo
Messages : 1049
Inscription : jeu. 19 avr. 2007, 10:40
Localisation : Nantes (44)

Re: [udev] montage usb (résolu )

Message par gyo »

Et moi j'ai mis un smiley ! lapincompri :?
commentaire rédigé à l’aide d’un clavier ergonomique bépo
KISS MY ARCH
Répondre