Yo estoy intentando hacer un script para que se ejecute de launchd a intervalos regulares. El servicio de carga, pero no se ejecuta la secuencia de comandos.
El guión en sí es una prueba muy simple script de la siguiente manera:
echo "Hello World!" >> /Users/rhiannon/Library/Application\ Support/Script\ Testing/test.txt
El script se guarda como /Users/rhiannon/Library/Application\ Support/Script\ Testing/test-launchd.sh
(con permisos de rwxr-xr-x
) y felizmente se ejecuta desde la línea de comandos.
Tengo un archivo plist de la siguiente manera:
<?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>uk.co.myco.timedshelltests</string>
<key>Program</key>
<string>/Users/rhiannon/Library/Application\ Support/Script\ Testing/test-launchd.sh</string>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
El plist archivo se guarda como /Users/rhiannon/Library/LaunchAgents/uk.co.myco.timedshelltests.plist
con permisos de rw-r--r--
.
Me carga el servicio a través de
launchctl load uk.co.myco.timedshelltests.plist
Con el registro conjunto con sudo launchctl log level debug
, aparece el siguiente error en el registro del sistema:
com.apple.xpc.launchd[1] (uk.co.myco.timedshelltests[13505]): Could not find and/or execute program specified by service: 2: No such file or directory: /Users/rhiannon/Library/Application\ Support/Script\ Testing/test-launchd.sh
com.apple.xpc.launchd[1] (uk.co.myco.timedshelltests[13505]): Service setup event to handle failure and will not launch until it fires.
com.apple.xpc.launchd[1] (uk.co.myco.timedshelltests[13505]): Service exited with abnormal code: 78
Estoy bastante seguro de que los permisos son correctos, y sé que el camino es correcto. ¿Qué otra cosa podría estar equivocado?