0 votos

launchd plist con gran StartInterval nunca se ejecuta

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 que StartInterval 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

0voto

ErniePC12 Puntos 36

Puede intentar colocar lo siguiente en su archivo launchd.

<key>RunAtLoad</key>
<true/>

A ver cómo funciona también después de arrancar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X