2010-08-25 20 views
14

Je travaille avec launchd pour exécuter des tâches automatisées, et je me demandais quelle était la différence entre 'Day' et 'Weekday'.Quelle est la différence entre 'Day' et 'Weekday' dans launchd StartCalendarInterval?

Selon http://discussions.apple.com/thread.jspa?threadID=1361809, il existe une différence «subtile» qui peut provoquer une mauvaise utilisation de launchd.

En fin de compte, je voudrais avoir un plist qui fonctionne tous les jours (du lundi - vendredi) à 8h du matin, mais je ne sais pas comment obtenir l'équivalent de Cron

0 8 * * 1-5 
+0

Je peux seulement imaginer ce jour = {Sun Lun Mar Mer Jeu Ven Sam} et le jour de la semaine = {Lun Mar Mer Jeu Ven} ... –

+0

Aussi, c'est un fil de deux ans. –

+0

Mais http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html spécifie: jour Le jour où ce travail sera exécuté . Jour de la semaine Le jour de la semaine où ce travail sera exécuté (0 et 7 sont dimanche). Donc, Day et Weekday ont-ils simplement des valeurs entières différentes pour les jours? Ce n'est certainement pas clair pour moi à partir de la documentation. –

Répondre

24

jour est le jour du mois.

Le jour de la semaine est le jour de la semaine (0 et 7 == dimanche).

Pour vous, vous avez besoin:

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

Pas tout à fait aussi élégant que ... Cron

0

essayer cela aussi. Travailler pour moi!

 <key>StartCalendarInterval</key> 

    <dict> 

      <key>Minute</key> 

      <integer>00</integer> 

      <key>Hour</key> 

      <integer>22</integer> 

      <key>Weekday</key> 

      <integer>12345</integer> 

    </dict> 
+0

Moins de 10,9 je reçois: L'intervalle pour la clé "Weekday" n'est pas entre 0 et 7 (inclus) Dans la console :( – RedYeti

0

Vous devriez être en mesure d'utiliser des traits d'union pour spécifier des plages ainsi:

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

Je n'ai pas testé ce bien. (Source: http://www.launchd.info/)