Esiste un modo per eseguire su applescript quando un server diventa disponibile?

1

Sto cercando di eseguire uno script quando un server diventa disponibile (un po 'come quando il sistema operativo rileva la presenza di un dispositivo capsula temporale e avvia il backup.) Non ho trovato un modo semplice per allegare un applecript a un evento di sistema. C'è un modo?

Non sto cercando nulla che richieda un compilatore. Sto semplicemente guardando ad un evento del sistema operativo (un po 'come "Folder Actions", suppongo, ma per un server.)

    
posta machunter 19.06.2011 - 14:07
fonte

2 risposte

1

L'unico modo che posso pensare è eseguire uno script con un gestore idle che controlli periodicamente per vedere se il server è disponibile e in tal caso esegue un altro script o un'altra porzione dello stesso script.

    
risposta data 20.06.2011 - 03:28
fonte
1

Puoi utilizzare launchd a tale scopo. Ecco un esempio di un launchd config plist che eseguirà un AppleScript quando viene montato un disco:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>Example</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/bin/osascript</string>
            <string>/Users/sakra/Documents/Test.applescript</string>
        </array>
        <key>StartOnMount</key>
        <true/>
    </dict>
</plist>

Per attivare il file di configurazione, salvalo nella cartella LaunchAgents nella cartella Libreria come Example.plist .

Dal Terminale puoi quindi utilizzare il comando launchctl per attivare Example.plist eseguendo:

launchctl load ~/Library/LaunchAgents/Example.plist

L'AppleScript verrà quindi eseguito ogni volta che viene montato un filesystem.

Per disattivarlo, esegui:

launchctl unload ~/Library/LaunchAgents/Example.plist
    
risposta data 19.06.2011 - 19:58
fonte

Leggi altre domande sui tag