2010-08-25 8 views
14

Ich arbeite mit Launchd, um einige automatisierte Aufgaben auszuführen, und ich frage mich, was der Unterschied zwischen "Day" und "Weekday" ist.Was ist der Unterschied zwischen "Day" und "Weekday" in gestartet StartCalendarInterval?

Laut http://discussions.apple.com/thread.jspa?threadID=1361809 gibt es einen "subtilen" Unterschied, der dazu führen kann, dass launchd sich schlecht benimmt.

Letztlich möchte ich eine plist haben, die jeden Wochentag (Mo - Fr) läuft um 8 Uhr morgens, aber ich weiß nicht, wie die cron-Äquivalent von

0 8 * * 1-5 
+0

Ich kann mir nur diesen Tag vorstellen = {So Mo Di Mi Do Fr Sa} und wochentag = {Mo Di Mi Do Fr} ... –

+0

Auch das ist ein zwei Jahre alter Thread. –

+0

Aber http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html gibt: Tag Der Tag, an dem dieser Job ausgeführt werden wird . Wochentag Der Wochentag, an dem dieser Job ausgeführt wird (0 und 7 sind Sonntag). Haben also Tag und Wochentag nur unterschiedliche Ganzzahlwerte für Tage? Es ist mir aus der Dokumentation sicher nicht klar. –

Antwort

24

Tag zu bekommen, ist der Tag, des Monats.

Wochentag ist der Tag der Woche (0 und 7 == Sonntag).

Für Sie, was Sie brauchen:

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

Nicht ganz so elegant wie cron ...

0

dies versuchen. Für mich arbeiten!

 <key>StartCalendarInterval</key> 

    <dict> 

      <key>Minute</key> 

      <integer>00</integer> 

      <key>Hour</key> 

      <integer>22</integer> 

      <key>Weekday</key> 

      <integer>12345</integer> 

    </dict> 
+0

Unter 10.9 bekomme ich: Das Intervall für Schlüssel "Wochentag" liegt nicht zwischen 0 und 7 (inklusive) In der Konsole :( – RedYeti

0

sollten Sie in der Lage sein, Bindestriche zu verwenden, um Bereiche angeben:

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

ich das nicht obwohl testen haben. (Quelle:)

Verwandte Themen