Mac OS X : launchd et détection des périphériques amovibles

Boris HUISGEN
Boris HUISGEN
|

Le système launchd de Mac OS X (10.4 et +) permet de détecter le branchement d’un volume amovible (clé USB, disque dur, etc). Un script particulier peut donc être lancé suite à cette détection pour lancer une copie de vos documents ou une sauvegarde (rsync ou autre).

Par exemple, ce service launchd permet de lancer automatiquement le script shell usb-hotplug au branchement du volume USB:

<!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.hbis.usb-hotplug</string>
        <key>Program</key>
        <string>/Users/bhuisgen/Library/Scripts/usb-hotplug</string>
        <key>ProgramArguments</key>
        <array>
            <string>usb-hotplug</string>
        </array>
        <key>WatchPaths</key>
        <array>
            <string>/Volumes/USB</string>
        </array>
    </dict>
</plist>

Le script à exécuter est référencé par l’option Program ; quant au volume à détécter il s’agit de l’option WatchPaths, la forme pluriel confirmant que plusieurs volumes peuvent être détectés par le même service.

Pour lancer ce service, la commande est la suivante :

$ sudo launchctl load -w fr.hbis.usb-hotplug
Boris HUISGEN
Boris HUISGEN
Blog owner
  • #macos
  • #launchd