IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Détecter le montage d'un volume [Résolu], En automatique
Options
trouspinette
posté 16 Apr 2015, 17:45
Message #1


Macbidouilleur d'Or !
*****

Groupe : Rédacteurs
Messages : 5 064
Inscrit : 19 Feb 2002
Lieu : BZH
Membre no 2 083



Hello !

Je cherche un moyen de détecter sous Mac OS X le montage d'un volume.

En gros, dès que l'opérateur idoine branche un volume de sauvegarde, on souhaite balancer un email de contrôle, un message Growl sur une machine, etc..

Avez vous eu à traiter dèjà ce type d'action ? Si oui, comment ?

Merci wink.gif


--------------------
Quis custodiet ipsos custodes ? - Lorsqu'un sujet est résolu, merci d'indiquer [Résolu] dans le titre de votre post !

Luttons contre le style SMS !!!

iPhone 14Pro Max 256 Go iOS 17• MacBook Pro 16 2019 Core i9 - macOS 12.7.2 - 32 GB RAM - 2 TB • @Orange
Linux • OPNSense / pfSense • Une pointe de Windows aussi • Enfocus Switch Expert • callas pdfToolBox
Go to the top of the page
 
+Quote Post
ntx
posté 16 Apr 2015, 17:52
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 490
Inscrit : 19 Aug 2004
Lieu : 92
Membre no 22 254



Il y a la librairie ORSSerialPort qui permet de détecter le branchement d'un appareil USB. Une fois notifié, à toi de rajouter la suite pour faire ce tu veux.
Si tu veux uniquement le montage d'un volume, il doit y avoir des pistes de ce code.
Go to the top of the page
 
+Quote Post
mpergand
posté 16 Apr 2015, 17:59
Message #3


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 198
Inscrit : 8 Oct 2003
Membre no 10 220



Code
// notification mount/unmount
NSNotificationCenter* center=[[NSWorkspace sharedWorkspace] notificationCenter];
[center addObserver:self selector:@selector(deviceDidChange:) name:NSWorkspaceDidMountNotification object:nil];
[center addObserver:self selector:@selector(deviceDidChange:) name:NSWorkspaceWillUnmountNotification object:nil];


Ce code date un peu (2010) il y a peut-être d'autres solutions depuis.
Go to the top of the page
 
+Quote Post
trouspinette
posté 16 Apr 2015, 21:33
Message #4


Macbidouilleur d'Or !
*****

Groupe : Rédacteurs
Messages : 5 064
Inscrit : 19 Feb 2002
Lieu : BZH
Membre no 2 083



Je suppose qu'avec ce type de libairie, on doit passer en C, Objective-C ou autre joyeuseté ?


--------------------
Quis custodiet ipsos custodes ? - Lorsqu'un sujet est résolu, merci d'indiquer [Résolu] dans le titre de votre post !

Luttons contre le style SMS !!!

iPhone 14Pro Max 256 Go iOS 17• MacBook Pro 16 2019 Core i9 - macOS 12.7.2 - 32 GB RAM - 2 TB • @Orange
Linux • OPNSense / pfSense • Une pointe de Windows aussi • Enfocus Switch Expert • callas pdfToolBox
Go to the top of the page
 
+Quote Post
mpergand
posté 16 Apr 2015, 22:34
Message #5


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 198
Inscrit : 8 Oct 2003
Membre no 10 220



oui, en Objective-C.

Quel langage utilises-tu ? ?
Go to the top of the page
 
+Quote Post
trouspinette
posté 17 Apr 2015, 09:05
Message #6


Macbidouilleur d'Or !
*****

Groupe : Rédacteurs
Messages : 5 064
Inscrit : 19 Feb 2002
Lieu : BZH
Membre no 2 083



Citation (mpergand @ 16 Apr 2015, 23:34) *
oui, en Objective-C.

Quel langage utilises-tu ? ?

Aucun ! Je ne fais pas de programmation, juste un poil de scripting Bash et Cie...

J'ai bien conscience de m'attaquer à un truc hors de ma portée à ce jour ;-)

J'ai un copain qui maitrise ses aspects : je vais lui en faire part.

En tout état de cause, merci pour vos réponses.


--------------------
Quis custodiet ipsos custodes ? - Lorsqu'un sujet est résolu, merci d'indiquer [Résolu] dans le titre de votre post !

Luttons contre le style SMS !!!

iPhone 14Pro Max 256 Go iOS 17• MacBook Pro 16 2019 Core i9 - macOS 12.7.2 - 32 GB RAM - 2 TB • @Orange
Linux • OPNSense / pfSense • Une pointe de Windows aussi • Enfocus Switch Expert • callas pdfToolBox
Go to the top of the page
 
+Quote Post
chombier
posté 17 Apr 2015, 12:39
Message #7


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



Tu peux aussi regarder du côté des Folder Actions ou de launchd.
http://apple.stackexchange.com/questions/8...t-on-disk-mount


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
trouspinette
posté 17 Apr 2015, 13:13
Message #8


Macbidouilleur d'Or !
*****

Groupe : Rédacteurs
Messages : 5 064
Inscrit : 19 Feb 2002
Lieu : BZH
Membre no 2 083



Citation (chombier @ 17 Apr 2015, 13:39) *
Tu peux aussi regarder du côté des Folder Actions ou de launchd.
http://apple.stackexchange.com/questions/8...t-on-disk-mount

Cool ! Je crois que je vais suivre cette piste, il y a de bonnes idées.

Merci encore chombier ;-)


--------------------
Quis custodiet ipsos custodes ? - Lorsqu'un sujet est résolu, merci d'indiquer [Résolu] dans le titre de votre post !

Luttons contre le style SMS !!!

iPhone 14Pro Max 256 Go iOS 17• MacBook Pro 16 2019 Core i9 - macOS 12.7.2 - 32 GB RAM - 2 TB • @Orange
Linux • OPNSense / pfSense • Une pointe de Windows aussi • Enfocus Switch Expert • callas pdfToolBox
Go to the top of the page
 
+Quote Post
Pixel44
posté 31 May 2015, 20:45
Message #9


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 3 307
Inscrit : 17 Jul 2004
Lieu : Nantes
Membre no 21 109



Dans le terminal :

[ -d /Volumes/public ] && echo "Volume Public monté" || echo "volume Public en erreur"

Ce message a été modifié par Pixel44 - 5 Jun 2015, 05:02.


--------------------
Go to the top of the page
 
+Quote Post
trouspinette
posté 3 Jun 2015, 18:01
Message #10


Macbidouilleur d'Or !
*****

Groupe : Rédacteurs
Messages : 5 064
Inscrit : 19 Feb 2002
Lieu : BZH
Membre no 2 083



Hello,

J'ai oublié de répondre plus tôt, mais j'ai trouvé un moyen :

- Création d'un LaunchDaemon qui détecte une insertion,
- Puis lancement d'un script

Nickel, juste ce que je recherchais

#####################
Le LaunchAgent

Code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>fr.domaine_bidon.volinsert</string>
    <key>ProgramArguments</key>
    <array>
        <string>/softs/scripts/vol_insert.sh</string>
    </array>
    <key>StartOnMount</key>
    <true/>
</dict>
</plist>


Et le script :
Code
#!/bin/bash

# Script de détection de Volumes insérés dans /Volumes
# Auteur : Stéphane A
# email@domaine_bidon.fr

# Version :
# 20150423 - 1.00 - Original

# On recherche un(des) volume(s) particulier(s)
# Le nom des volumes recherchés est fixé par variable :
# Disk2Search="xxx"
#
DATESTART=`/bin/date +%Y-%m-%d\ %H:%M:%S`

# Recherche du volume inséré
Disk2Search=`/usr/sbin/diskutil list | /usr/bin/grep -o 'LU-ME-VE\|KEY512'`

/bin/echo "$Disk2Search"

if [ "$Disk2Search" == "LU-ME-VE" ];
    then
        /bin/echo "Le : $DATESTART :" >> /tmp/vol.txt
        /bin/echo "Volume insere est : $Disk2Search " >> /tmp/vol.txt
        /bin/echo "--------------------------------" >> /tmp/vol.txt
    elif [ "$Disk2Search" == "KEY512" ];
        then
            /bin/echo "Le : $DATESTART :" >> /tmp/vol.txt
            /bin/echo "Volume insere est : $Disk2Search " >> /tmp/vol.txt
            /bin/echo "--------------------------------" >> /tmp/vol.txt
    else
        /bin/echo "Pas de bol..."
        exit
fi

exit 0


--------------------
Quis custodiet ipsos custodes ? - Lorsqu'un sujet est résolu, merci d'indiquer [Résolu] dans le titre de votre post !

Luttons contre le style SMS !!!

iPhone 14Pro Max 256 Go iOS 17• MacBook Pro 16 2019 Core i9 - macOS 12.7.2 - 32 GB RAM - 2 TB • @Orange
Linux • OPNSense / pfSense • Une pointe de Windows aussi • Enfocus Switch Expert • callas pdfToolBox
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 24th April 2024 - 12:15