Estoy tratando de ejecutar un comando una vez al día así:
<?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>local.borgmatic</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/borgmatic</string>
<string>--syslog-verbosity</string>
<string>1</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>HOME</key>
<string>/Users/mike</string>
</dict>
<key>StartInterval</key>
<integer>86400</integer>
</dict>
</plist>
El problema es que este trabajo nunca parece funcionar por sí mismo. Si sólo fallara, esperaría ver un mensaje de error de launchd en system.log
pero no veo nada, ni siquiera después de dejar el ordenador encendido durante varios días con la hibernación desactivada. El trabajo aparece en launchctl list
y funciona bien cuando lo inicio manualmente a través de launchctl start
. También se ejecuta automáticamente cuando reduzco StartInterval
a algo más pequeño, como 10
. ¿Tiene StartInterval algún máximo no documentado?
Por cierto, este parece ser el mismo problema reportado en OS X launchd.plist .
0 votos
Sólo me preguntaba, ¿dónde tienes este trabajo ubicado, cuál es la ruta de la carpeta que el plist se encuentra en? Me pregunto, si cambia su ubicación, ¿cambia eso las cosas?
0 votos
@ErniePC12 Lo puse en
~/Library/LaunchAgents/
pero me acabo de dar cuenta de otra cosa. No creo queStartInterval
funciona a través de reinicios, lo cual es un problema si quieres ejecutar algo como mucho una vez al día, pero no sabes a qué hora estará encendido tu ordenador. Creo que anacron podría resolver esto, pero no parece estar disponible en OSX.0 votos
Pruebe a utilizar STartCalendarInterval si el mac no está encendido en el momento en que se ejecutará cuando se despierta por lo que actúa como anacron