¿Launchd para ejecutarse solo según lo programado, no reiniciar?

3

Tengo un script que quiero configurar para las 3:30 am todos los días y se ejecuta a la hora establecida, pero también se ejecuta en cada reinicio de la computadora que no deseo.

¿Cómo puedo hacer que esto funcione solo con la programación establecida y no se ejecute en cada inicio de la computadora?

Aquí está mi plist:

<?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>com.xxxxx.xxxx</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Library/Scripts/script.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Minute</key>
        <integer>30</integer>
        <key>Hour</key>
        <integer>3</integer>
    </dict>
</dict>
</plist>
    
pregunta Carter 11.03.2015 - 16:40

2 respuestas

2

Necesitará agregar una clave "Ejecutar al cargar" y establecerla en falso.

<key>RunAtLoad</key>
<false/>

Esto evitará que se ejecute al inicio y solo a la hora especificada manualmente.

    
respondido por el tron_jones 11.03.2015 - 16:57
1

Gracias a todos, ¡acaban de funcionar! La primera respuesta funcionó. Mi problema fue que no descargué la primera lista de launchd a pesar de que eliminé el archivo. Sigue recordándolo en cada reinicio.

Acabé reimaginando dos iMacs y probé el launchd .plist con el comando agregado.

Probado con cargarlo y descargarlo para confirmar. Después de innumerables reinicios y ajustar el reloj para luego probar una y otra vez, puedo confirmar que funciona de la manera que necesitamos :)

La computadora puede reiniciar todo lo que quiera pero no ejecutará el script hasta la hora programada.

    
respondido por el Carter 12.03.2015 - 15:30

Lea otras preguntas en las etiquetas