¿Puedo cambiar los argumentos del programa launchd en función del intervalo de calendario?

3

Estoy intentando ejecutar un script ( zfssnap.sh ) para automatizar las instantáneas, pero uno de los argumentos debe cambiar según la entrada de tiempo que active el script para comenzar. Con cron, solo agregaría una nueva línea con el argumento modificado y establecería los campos de tiempo en consecuencia.

Al leer las páginas de manual launchd y launchd.conf , no veo ninguna forma de asociar un argumento con una entrada clave específica StartCalendarInterval . Esto parece ser una limitación importante, ¿entonces tal vez me esté perdiendo algo?

¿Hay alguna forma de cambiar un argumento en función de la hora en que se ejecuta el script? O, ¿tengo que hacer una nueva lista para cada una de las situaciones que estoy tratando de satisfacer?

    
pregunta tim.rohrer 06.09.2018 - 21:13

1 respuesta

1

Lo "estándar" que hay que hacer es crear un nuevo .plist para cada combinación de tiempo / argumento diferente. Esto es esencialmente el equivalente a hacer varias entradas en el crontab, excepto que cada "entrada" es un archivo completo, no solo una línea.

Hay un buen ejemplo de esto en las entradas del daemon de lanzamiento de macOS para el programa de mantenimiento periódico. /System/Library/LaunchDaemons/com.apple.periodic-daily.plist ejecuta / usr / libexec / periodic-wrapper con el argumento "diario" y un intervalo de 24 horas, ... periodicidad-semanal.plist lo ejecuta con el el argumento "semanal" y un intervalo de 7 días, y ... periodic-month.plist lo ejecuta con el argumento "mensual" y un intervalo de 30.44 días.

    
respondido por el Gordon Davisson 07.09.2018 - 04:19

Lea otras preguntas en las etiquetas