Re: [CBLX] question script après DHCP |
[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]
Bonjour à tous,
je m'en mêle un petit peu (car je n'aurai pas Internet demain, ni la semaine prochaine) ; je n'interviens plus guère sur la liste depuis longtemps car je n'ai pas grand chose à apporter, mais là, je viens de résoudre un problème similaire sur une Ubuntu : déclencher un script à l'insertion d'une clé usb. Come le supposait Aldo, cela repose sur une règle udev. Voir à ce sujet l'article udev sur www.ubuntu-fr, c'est le mieux que j'ai trouvé, il donnera les indications pour localiser l'insertion de la carte réseau. Revenons à ma clé usb ; je crée le fichier /etc/udev/rules.d/81-local.rules avec pour contenu : ACTION="" SUBSYSTEMS=="usb", ATTRS{serial}=="071085501083AB2E", RUN+="/home/gilles/.scripts_persos/sauve_PEDAGO" L'astuce est que le script sauve_PEDAGO ne fait rien d'autre que d'en lancer un deuxième, EN TACHE DE FOND, car le premier script (lancé par udev) doit se terminer pour pouvoir poursuivre le montage de la clé (et pour le réseau, pour que le gestionnaire de connexion puisse faire son boulot) d'une part, et d'autre par, la tâche qu'il lance doit pouvoir être exécutée APRES la fin de l'initialisation du périphérique ; afin d'obtenir ce résultat, le script appelé (il s'appelle sauv_cle_PEDAGO) s'appelle lui-même récursivement jusqu'à ce qu'il puisse faire son boulot. Je joins le source des deux scripts (il y a du déchet dedans, il faut trier surtout les commentaires), en espérant inspirer suffisamment pour faire avance le schmilblick. sauv_PEDAGO : ################################################################# #Les scripts persos sont placés dans /home/$user/.scripts_persos# ################################################################# ################################################################# #La sauvegarde se fait dans /home/touze/.sauvegarde/PEDAGO/ # # #Script gérant la sauvegarde automatique de PEDAGO. ################################################################# ################################################################# #Créer le fichier /etc/udev/rules.d/81-local.rules #avec pour contenu : #ACTION="" SUBSYSTEMS=="usb", ATTRS{serial}=="071085501083AB2E", RUN+="/home/gilles/.scripts_persos/sauve_PEDAGO" ################################################################# SCRIPT=/home/gilles/.scripts_persos/sauve_clef_PEDAGO ################################################################# #Lancer en background : ()& # ################################################################# ($SCRIPT > /tmp/sauve_clef_PEDAGO.log 2>&1 && exit 0) & et enfin sauv_cle_PEDAGO : #!/bin/sh SRC_DIR="/media/gilles/PEDAGO/" TGT_DIR="/home/gilles/Ubuntu One/PEDAGO" synchronize () { echo "synchronize"; if test -d "$SRC_DIR"; then ######################################################################################################## #On fait une sauvegarde avec backup (les anciennes versions d'un fichier sont conservées renommées). # ######################################################################################################## rsync -abvd --backup-dir=.rsync-backups --progress --partial-dir=.rsync-partial "$SRC_DIR" "$TGT_DIR" && chown -R gilles:gilles "$TGT_DIR"; else fi; sleep 1 && synchronize; } main () { #echo "main" && #mkdir -p "$SRC_DIR" && #echo "Mounting..." && #mount /dev/sdb1 "$SRC_DIR" || #echo "Mounted !" && synchronize; } main && echo "done" && exit 0 Voilà, c'est tout ce que je peux apporter sur la question, mais j'espère fournir un cadre structurel utilisable. Bon courage pour l'adaptation, (j'avoue que personnellement, je n'étais pas de taille à créer ça tout seul, je me suis fait aider par un vrai professionnel). Mais je garantis que c'est une façon de procéder de bonne qualité. Gilles. Le 25/08/2013 14:08, Pierre Lorenzon a écrit : From: Mathieu Barbe <mat.barbe@xxxxxxxxx> Subject: Re: [CBLX] question script après DHCP Date: Sun, 25 Aug 2013 11:50:24 +0200J'ai bien compris ce que tu fais mais si j'ai pas l'ip de ma carte je ne risque pas de faire une redirection de port en ssh. En faite je ne vois pas trop de point commun entre ton application et se que je veux faire. toi tu te sert des outils d'accessibilité de ta machine distante pour les sortir sur ta machine local. Non ! Lamachine locale tourne le serveur speech-dispatcher avec festival derrière. Sur la machine distante il y a emacs qui envoie sont flux sur le port 6560 mais à travers le ssh le port 6560 est celui de la machine locale où écoute speech-dispatcher donc le son est local.Moi la machine distante n'a pas ces outils et ma machine local les a belle et bien.C'est exactement mon cas aussi.Et j'ai pas son ipOn n'a pas besoin de l'ip de la machine local si on redirige les ports dans le tube ssh. P.:-) ++ Math Mathieu Barbe Mail: mat.barbe@xxxxxxxxx 28 rue Nicolas Chorier 38 000 Grenoble Le 25/08/2013 05:48, Pierre Lorenzon a écrit :From: Mathieu Barbe <mat.barbe@xxxxxxxxx> Subject: Re: [CBLX] question script après DHCP Date: Sat, 24 Aug 2013 22:51:08 +0200la vrai idée c'était de lancer la synthèse vocale espeak avec l'adresse ip en paramètre Cela me permet de me connecter en ssh par la suite. Car c'est sur une carte embarqué sans écran et sans outils d'accessibilité. Je vais étudier ce que vous m'avez répondu, Merci.Bon indépendamment de ce que tu veux faire exactement ta question était intéressante parce que déclencher une action quelconque par rapport à l'événement plug/unplug d'une connection ethernet ça ne semble pas exotique du tout et tu n'es vraisemblablement pas le premier à vouloir faire un truc pareil. Pour ce que tu veux faire spécifiquement est-ce la bonne stratégie ? As-tu besoin que la synthèse tourne explicitement sur la carte embarquée ? Ne serait-il pas plus simple de faire tourner le serveur de synthèse sur la machine locale à partir de laquelle tu te connectes avec une redirection de port avec -R dans le ssh ? Moi c'est ce que je fais dans mon bureau à la fac par exemple. Dans mon bureau j'ai une charrette (pour ne pas dire une brouette i.e. un compaq de 2000) mais qui peut faire tourner festival+mbrola de manière à peu près raisonnable. En revanche pour utiliser mes outils favoris je préfère travailler sur le serveur du labo. Et bien ssh -R port:port fait que dans ma session ssh les process lancés sur la machine distante voient leur requête sur le port donné redirigées sur la machine locale : et le son sort dans mon bureau et pas dans le local technique où il y a le serveur. Clair/pas clair ? fais un petit man ssh et on en reparle ! Pierre++ Math Mathieu Barbe Mail: mat.barbe@xxxxxxxxx 28 rue Nicolas Chorier 38 000 Grenoble Le 20/08/2013 05:52, Pierre Lorenzon a écrit :From: raphael.poitevin@xxxxxxxxx (Raphaël POITEVIN) Subject: Re: [CBLX] question script après DHCP Date: Mon, 19 Aug 2013 23:51:08 +0200Mathieu Barbe <mat.barbe@xxxxxxxxx> writes:Je veux ex��ď��cuter un script qui se lancerait apr��ď��s avoir : brancher un c��ď��ble r��ď��seau,et apr��ď��s avoir optenu mon ip avec le dhcp! Avez-vous une id��ď��e?Peut-��ď��tre voir du c��ď��t��ď�� des if-updown ; des scripts s'ex��ď��cutent au moment o��ď�� la carte r��ď��seau est activ��ď��e et d��ď��sactiv��ď��e.Pour moi ces scripts sont lancés par les scripts de démarrrage mais pas par le daemon dhcp. Cela dit il suffit de mettre la main sur un seul script qui srait exécuté par le daemon dchp au moment du plug/unplug event et de le customizer pour que ça marche. P.-- Rapha��ď��l ��ď�� Tout chercheur plong��ď�� dans la science subit une pouss��ď��e de bas en haut susceptible de lui remonter le moral. ��ď�� Monsieur Cyclop��ď��de -- -- CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le sujet help à: carrefourblinux-request@xxxxxxxxxxxxxxxxxxx Archives: http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux-- -- CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le sujet help �: carrefourblinux-request@xxxxxxxxxxxxxxxxxxx Archives: http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux-- -- CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le sujet help �: carrefourblinux-request@xxxxxxxxxxxxxxxxxxx Archives: http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux |
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |