2010-08-25 16 views
14

Estoy trabajando con launchd para ejecutar algunas tareas automatizadas, y me preguntaba cuál es la diferencia entre 'Día' y 'Día de la semana'.¿Cuál es la diferencia entre 'Día' y 'Día de la semana' en el lanzamiento de StartCalendarInterval?

De acuerdo con http://discussions.apple.com/thread.jspa?threadID=1361809 hay una diferencia 'sutil' que puede causar que launchd se comporte mal.

En última instancia, me gustaría tener un plist que se ejecuta cada día de la semana (lunes - viernes) a las 8 am, pero no sé cómo obtener el equivalente de cron

0 8 * * 1-5 
+0

Solo puedo imaginar ese día = {dom lun mar mié jue vie sáb} y entre semana = {lun mar mié jue viernes ... –

+0

También, eso es un hilo de dos años. Pero –

+0

http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html especifica: Día El día en que se llevará a cabo este trabajo . Día de la semana El día de la semana en que se ejecutará este trabajo (0 y 7 son domingo). ¿El día y el día de la semana solo tienen valores enteros diferentes para los días? Ciertamente no es claro para mí a partir de la documentación. –

Respuesta

24

día es el día Del mes.

El día de la semana es el día de la semana (0 y 7 == Domingo).

Para usted, usted necesita:

<key>StartCalendarInterval</key> 
<array> 
    <dict> 
     <key>Weekday</key> 
     <integer>1</integer> 
     <key>Hour</key> 
     <integer>8</integer> 
     <key>Minute</key> 
     <integer>0</integer> 
    </dict> 
    <dict> 
     <key>Weekday</key> 
     <integer>2</integer> 
     <key>Hour</key> 
     <integer>8</integer> 
     <key>Minute</key> 
     <integer>0</integer> 
    </dict> 
    <dict> 
     <key>Weekday</key> 
     <integer>3</integer> 
     <key>Hour</key> 
     <integer>8</integer> 
     <key>Minute</key> 
     <integer>0</integer> 
    </dict> 
    <dict> 
     <key>Weekday</key> 
     <integer>4</integer> 
     <key>Hour</key> 
     <integer>8</integer> 
     <key>Minute</key> 
     <integer>0</integer> 
    </dict> 
    <dict> 
     <key>Weekday</key> 
     <integer>5</integer> 
     <key>Hour</key> 
     <integer>8</integer> 
     <key>Minute</key> 
     <integer>0</integer> 
    </dict> 
</array> 

No es tan elegante como cron ...

0

probar esto también. ¡Trabajando para mí!

 <key>StartCalendarInterval</key> 

    <dict> 

      <key>Minute</key> 

      <integer>00</integer> 

      <key>Hour</key> 

      <integer>22</integer> 

      <key>Weekday</key> 

      <integer>12345</integer> 

    </dict> 
+0

Bajo 10.9 obtengo: El intervalo para la clave "Día de la semana" no está entre 0 y 7 (inclusive) En la consola :( – RedYeti

0

Usted debe ser capaz de utilizar guiones para especificar rangos así:

<key>StartCalendarInterval</key> 
<array> 
    <dict> 
     <key>Weekday</key> 
     <integer>1-5</integer> 
     <key>Hour</key> 
     <integer>8</integer> 
     <key>Minute</key> 
     <integer>0</integer> 
    </dict> 
</array> 

no he probado esto, sin embargo. (Fuente: http://www.launchd.info/)

Cuestiones relacionadas