Por lo que vale la probé aquí y parece estar funcionando para mí. En cualquier momento que yo manualmente anexa algo en /Library/Logs/CrashPlan/historia.registro.0 la secuencia de comandos hizo llegar activa.
Como tal, esta no es realmente una respuesta, pero es más una serie de consejos para depurar launchd
:
Un par de consejos para el diagnóstico de launchd:
1) el Uso de la stdout
y stderr
rutas y ver si algo se pone conectado a ellos. Usted puede hacer esto añadiendo estas líneas a su com.crashplan.status.plist
archivo.
<key>StandardErrorPath</key>
<string>/tmp/com.crashplan.status.stderr.log</string>
<key>StandardOutPath</key>
<string>/tmp/com.crashplan.status.stdout.log</string>
(Si varias personas utilizan el mismo Mac, es posible que desee utilizar una ruta de acceso diferente de /tmp/ pero si es sólo usted, entonces es como bien de un lugar como cualquier otro.)
2) Con el #1 también puede ser que desee para ajustar la secuencia de comandos (/Usuarios/Rax/Biblioteca/Automatización/Shell/crashplan_status) para incluir la información de depuración, tales como cuando se inicia y cuando termina. Que puede ser tan simple como algo parecido a esto añadió cerca de la parte superior de la secuencia de comandos:
echo "$0: started at `date`"
y algo como esto cerca de la final
echo "$0: finished at `date`"
3) Con #2 también puede que quiera usar algo como terminal-notificador para mostrar que cuando el script que está siendo llamado, al menos hasta que usted consiga más allá de la etapa de depuración.
4) Si nada de esto ayuda, usted debe comprobar el estado de salida de cualquier comando que usted llama en crashplan_status
y ver si todo sale correctamente. Por ejemplo, digamos que usted se estaban ejecutando echo
en su crashplan_status
5) Es el entorno en launchd
diferente a la de su shell de alguna manera? Este es el mejor verificado mediante la adición de esta línea cerca de la parte superior de su launchd secuencia de comandos:
/usr/bin/printenv | /usr/bin/open -ef
lo que hará que el printenv
se envía a la salida estándar (stdout) y los resultados se abrió en TextEdit.
El más común de 'medio ambiente' problema que me encuentro es no tener el $PATH configurado correctamente para launchd. Se suele establecer en su concha ficheros de inicio, tales como .bashrc y heredado por cualquier secuencias de comandos de shell que se ejecuta desde la Terminal, pero no será por launchd
.
Usted puede ver el camino que launchd
utilizado por:
launchctl getenv PATH
Si usted desea hacerlo, puede establecer
launchctl setenv PATH
por ejemplo, para mi sistema sería:
launchctl setenv /Users/luomat/Dropbox/bin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
Si usted no quiere tener que recordar para establecer que cada vez que inicie su computadora, usted puede agregar a /etc/launchd.conf
mediante la adición de una línea de este:
setenv PATH /Users/luomat/Dropbox/bin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
obviamente el cambio que para que coincida con su sistema. También, no se sorprenda si /etc/launchd.conf
no existe en su sistema. Puede que tenga que crear. Para hacer eso, te recomiendo un simple:
sudo pico -w /etc/launchd.conf
y cuando haya terminado la edición, pulse control + X y siga las indicaciones para guardar los cambios.