Sono sempre stato un tipo crontab. Recentemente ho deciso di passare ai processi launchd di Apple e non riesco a far funzionare il mio primo plist.
-
Il comando
plutil -lint
mi dice che il plist è formattato correttamente. In realtà, emette "OK". -
Ho eseguito manualmente lo script bash e ho confermato che funziona correttamente quando viene avviato manualmente.
-
Ho caricato il file usando loadctl load e ho ricevuto la risposta "già caricata" in ripetuti tentativi di fare lo stesso.
Il problema deve essere nella mia definizione PLIST. Per favore aiutami a individuare l'errore.
Mi aspetto che venga eseguito con le seguenti condizioni:
- Solo mentre l'utente
jaredclemence
utilizza il sistema - Una volta immediatamente al login
- Ogni 15 minuti dopo
- Cambia la directory in
/Library/WebServer/Documents/medface/
prima di eseguire lo script.
Il file plist è il seguente:
<?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>org.pediatricheartcenter.medface.crons</string>
<key>User</key>
<string>jaredclemence</string>
<key>ProgramArguments</key>
<array>
<string>/User/jaredclemence/runMedfaceSchedTasks.batch</string>
</array>
<key>WorkingDirectory</key>
<string>/Library/WebServer/Documents/medface</string>
<key>StartInterval</key>
<integer>900</integer>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Note:
- Ho archiviato il file in
~/Library/LaunchAgents/org.pediatricheartcenter.medface.crons.plist
- Una versione precedente del file utilizzava
Program
invece diProgramArguments
con un valore<string>
invece di un array.