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 quiero.
¿Cómo hago para que esto funcione solo con el cronograma establecido y no se ejecuta en cada inicio de la computadora?
Aquí está mi lista:
<?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>
Necesitará agregar una clave "Ejecutar en carga" y establecerla en falso.
<key>RunAtLoad</key>
<false/>
Esto evitará que se ejecute al inicio y solo a la hora especificada manualmente.
<dict> <key>RunAtLoad</key> <false/> <dict>
¡Gracias a todos acaban de hacer que esto funcione! La primera respuesta funcionó. Mi problema fue que no descargué el primer launchd .plist aunque eliminé el archivo. Sigue recordándolo en cada reinicio.
Terminé volviendo a crear imágenes de dos iMac y probé el archivo launchd .plist con el comando agregado.
Probado con cargarlo y descargarlo para confirmar. Después de innumerables reinicios y de ajustar el reloj para probarlo una y otra vez, puedo confirmar que funciona como lo necesitamos :)
La computadora puede reiniciar todo lo que quiera, pero no ejecutará el script hasta la hora programada.
Carretero