Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

mac:schedule [2011/04/19 20:14]
wikisysop [Beispiele]
mac:schedule [2011/10/08 13:20] (aktuell)
wikisysop [Beschränkungen:]
Zeile 1: Zeile 1:
 [[:mac|{{ :​Apple.png?​40|}}]] [[:mac|{{ :​Apple.png?​40|}}]]
 ===== Launchd Task Scheduler konfigurieren ===== ===== Launchd Task Scheduler konfigurieren =====
- 
 Es gibt Aufgaben, welche man zB immer zur selben Zeit ausgeführt haben möchte oder vielleicht auch nur einmal zu einer bestimmten Zeit bzw während seiner Abwesenheit. In Mac OS gibt es dafür verschiedene Möglichkeiten:​ cron((http://​de.wikipedia.org/​wiki/​Cron))-,​ launchd((http://​de.wikipedia.org/​wiki/​Launchd))- und at((http://​de.wikipedia.org/​wiki/​At_%28Unix%29))-Jobs. cron ist seit Mac OS 10.4 (Tiger) nicht mehr am Start und wurde von launchd ersetzt. Dieser Artikel beschreibt das Einrichten eines scheduled tasks über launchd. Es gibt Aufgaben, welche man zB immer zur selben Zeit ausgeführt haben möchte oder vielleicht auch nur einmal zu einer bestimmten Zeit bzw während seiner Abwesenheit. In Mac OS gibt es dafür verschiedene Möglichkeiten:​ cron((http://​de.wikipedia.org/​wiki/​Cron))-,​ launchd((http://​de.wikipedia.org/​wiki/​Launchd))- und at((http://​de.wikipedia.org/​wiki/​At_%28Unix%29))-Jobs. cron ist seit Mac OS 10.4 (Tiger) nicht mehr am Start und wurde von launchd ersetzt. Dieser Artikel beschreibt das Einrichten eines scheduled tasks über launchd.
  
Zeile 17: Zeile 16:
  
 Das zentrale Konfigurations Skript hierfür ist wieder das launchd-Startskript,​ welches bereits im Artikel [[:​mac:​start_script|->​ launchd Startskript]] verwendet wurde und mit einigen Modifikationen angewiesen wird, die Systemuhr im Auge zu behalten und zu einem festgelegten Zeitpunkt das og Skript auszuführen. launchd kennt dafür zwei Keys: Das zentrale Konfigurations Skript hierfür ist wieder das launchd-Startskript,​ welches bereits im Artikel [[:​mac:​start_script|->​ launchd Startskript]] verwendet wurde und mit einigen Modifikationen angewiesen wird, die Systemuhr im Auge zu behalten und zu einem festgelegten Zeitpunkt das og Skript auszuführen. launchd kennt dafür zwei Keys:
- 
-  
  
 ==== StartInterval:​ ===== ==== StartInterval:​ =====
- 
 Ein integer-Wert((http://​de.wikipedia.org/​wiki/​Integer_%28Datentyp%29)) der launchd veranlasst den Job alle n-Sekunden zu starten. Ein integer-Wert((http://​de.wikipedia.org/​wiki/​Integer_%28Datentyp%29)) der launchd veranlasst den Job alle n-Sekunden zu starten.
  
Zeile 55: Zeile 51:
 <​xterm>​$ <fc #​008000>​launchctl unload ~/​Library/​LaunchAgents/​org.prontosystems.schedule.plist</​fc>​ <​xterm>​$ <fc #​008000>​launchctl unload ~/​Library/​LaunchAgents/​org.prontosystems.schedule.plist</​fc>​
 </​xterm>​ </​xterm>​
- 
  
 ==== StartCalendarInterval:​ ===== ==== StartCalendarInterval:​ =====
- 
 In einem dictionary-Tag wird, basierend auf täglich, wöchentlich oder monatlich zu einem bestimmter Zeitpunkt zum Starten des Jobs festgelegt. In einem dictionary-Tag wird, basierend auf täglich, wöchentlich oder monatlich zu einem bestimmter Zeitpunkt zum Starten des Jobs festgelegt.
  
-Um ein Skript zu einem bestimmten Zeitpunkt zu starten, benötigen Sie die >>​StartCalendarInterval<<​ Anweisung im launchd Startskript. Folgendes Skript starten zB das og Skript am Sonntag, den 31.10 um 10:45:+Um ein Skript zu einem bestimmten Zeitpunkt zu starten, benötigen Sie die >><fc #008000>​StartCalendarInterval</fc><< Anweisung im launchd Startskript. Folgendes Skript starten zB das og Skript am Sonntag, den 31.10 um 10:45:
  
 <code xml|~/​Library/​LaunchAgents/​org.prontosystems.schedule.plist>​ <code xml|~/​Library/​LaunchAgents/​org.prontosystems.schedule.plist>​
Zeile 101: Zeile 95:
 <​xterm>​$ <fc #​008000>​launchctl unload ~/​Library/​LaunchAgents/​org.prontosystems.schedule.plist</​fc>​ <​xterm>​$ <fc #​008000>​launchctl unload ~/​Library/​LaunchAgents/​org.prontosystems.schedule.plist</​fc>​
 </​xterm>​ </​xterm>​
- 
  
 ==== Zeitschlüssel ==== ==== Zeitschlüssel ====
- 
 launchd kennt folgende Zeitschlüssel im **StartCalendarInterval**:​ launchd kennt folgende Zeitschlüssel im **StartCalendarInterval**:​
  
Zeile 123: Zeile 115:
 Der Wochentag an dem der Job ausgeführt werden soll (0 = Sonntag, 1 = Montag ...) Der Wochentag an dem der Job ausgeführt werden soll (0 = Sonntag, 1 = Montag ...)
 </​code>​ </​code>​
-\\ \\ +
 ==== Beispiele ==== ==== Beispiele ====
-  
 Hier noch einige weitere Beispiele für periodische Startzeiten,​ welche die Anweisung in der og plist im dict-Tag ersetzen sollten: Hier noch einige weitere Beispiele für periodische Startzeiten,​ welche die Anweisung in der og plist im dict-Tag ersetzen sollten:
  
Zeile 153: Zeile 144:
  
 ==== Ablageorte: ==== ==== Ablageorte: ====
- 
 Ähnlich wie schon bei den Startskripts ist auch bei den Skripts für die zeitgesteuerte Ausführung der Ablageort ausschlaggebend,​ wann bzw. ob ein Job ausgeführt wird. Ähnlich wie schon bei den Startskripts ist auch bei den Skripts für die zeitgesteuerte Ausführung der Ablageort ausschlaggebend,​ wann bzw. ob ein Job ausgeführt wird.
  
Zeile 161: Zeile 151:
 /​Library/​LaunchDaemons ​       # → Owner = root; wird schon ausgeführt,​ wenn das System gestartet ist. Unabhängig davon, ob ein User angemeldet ist oder nicht. /​Library/​LaunchDaemons ​       # → Owner = root; wird schon ausgeführt,​ wenn das System gestartet ist. Unabhängig davon, ob ein User angemeldet ist oder nicht.
 </​code>​ </​code>​
-\\ \\  
  
 ==== Aktive Jobs anzeigen lassen ==== ==== Aktive Jobs anzeigen lassen ====
- 
 Um sich die aktiven Jobs anzeigen zu lassen, verwenden Sie wieder das >><​fc #​008000>​launchctl</​fc><<​ Utility mit dem Parameter >><​fc #​008000>​list</​fc><<:​ Um sich die aktiven Jobs anzeigen zu lassen, verwenden Sie wieder das >><​fc #​008000>​launchctl</​fc><<​ Utility mit dem Parameter >><​fc #​008000>​list</​fc><<:​
  
Zeile 171: Zeile 159:
  
 Ihr Job wird in dieser Liste, sofern er aktiv ist, mit dem in der plist im Key >><​fc #​008000>​Label</​fc><<​ gekennzeichneten String angezeigt. Wenn Sie das Kommando als normaler Benutzer ausführen, werden Ihnen die aktiven Jobs des Benutzers angezeigt (<fc #​008000>​~/​Library/​LaunchAgents</​fc>​). Wenn Sie es als root ausführen (sudo), entsprechend die aktiven Jobs, die root gehören und in (<fc #​008000>/​Library/​Launch{Agents|Daemons}</​fc>​ bzw. <fc #​008000>/​System/​Library/​Launch{Agents|Daemons}</​fc>​) abgelegt sind. Ihr Job wird in dieser Liste, sofern er aktiv ist, mit dem in der plist im Key >><​fc #​008000>​Label</​fc><<​ gekennzeichneten String angezeigt. Wenn Sie das Kommando als normaler Benutzer ausführen, werden Ihnen die aktiven Jobs des Benutzers angezeigt (<fc #​008000>​~/​Library/​LaunchAgents</​fc>​). Wenn Sie es als root ausführen (sudo), entsprechend die aktiven Jobs, die root gehören und in (<fc #​008000>/​Library/​Launch{Agents|Daemons}</​fc>​ bzw. <fc #​008000>/​System/​Library/​Launch{Agents|Daemons}</​fc>​) abgelegt sind.
- 
  
 ==== Disabled Key vs. override.plist ==== ==== Disabled Key vs. override.plist ====
- 
 Eine launchd plist kann einen optionalen Key >><​fc #​008000>​Disabled</​fc><<​ mit den Werten >><​fc #​008000>​true</​fc><<​ oder >><​fc #​008000>​false</​fc><<​ beinhalten (false = Default). Existiert dieser Key und hat den Wert >><​fc #​008000>​true</​fc><<​ wird diese plist beim Ausführen der Startobjekte ignoriert. Ist der Wert auf >><​fc #​008000>​false</​fc><<​ gesetzt (oder schlicht nicht vorhanden) wird das Objekt das nächste mal geladen, wenn sich der Benutzer einloggt oder das System gestartet wird, je nachdem welche Art von Startobjekt es betrifft (Siehe: Ablageorte) oder unmittelbar,​ wenn das Kommando >><​fc #​008000>​launchctl load</​fc><<​ auf die pilst ausgeführt wird. Eine launchd plist kann einen optionalen Key >><​fc #​008000>​Disabled</​fc><<​ mit den Werten >><​fc #​008000>​true</​fc><<​ oder >><​fc #​008000>​false</​fc><<​ beinhalten (false = Default). Existiert dieser Key und hat den Wert >><​fc #​008000>​true</​fc><<​ wird diese plist beim Ausführen der Startobjekte ignoriert. Ist der Wert auf >><​fc #​008000>​false</​fc><<​ gesetzt (oder schlicht nicht vorhanden) wird das Objekt das nächste mal geladen, wenn sich der Benutzer einloggt oder das System gestartet wird, je nachdem welche Art von Startobjekt es betrifft (Siehe: Ablageorte) oder unmittelbar,​ wenn das Kommando >><​fc #​008000>​launchctl load</​fc><<​ auf die pilst ausgeführt wird.
  
Zeile 180: Zeile 166:
  
 ==== Beschränkungen:​ ==== ==== Beschränkungen:​ ====
 +<note important>​**Note:​** Beide Varianten haben das Problem, dass die Jobs **nicht** zur eingestellten Zeit ausgeführt werden, wenn sich das System im Sleep-Modus befindet. Ab 10.4 (Tiger) werden die Jobs aber immerhin dann ausgeführt,​ wenn das System aus dem Sleep-Modus kommt. Ist das System zum festgelegten Zeitpunkt ausgeschaltet,​ wird der Job auch dann nicht ausgeführt,​ wenn später das System wieder eingeschaltet wird!</​note>​
  
-<note important>​**Note:​** Beide Varianten haben das Problem, dass die Jobs **nicht** zur eingestellten Zeit ausgeführt werden, wenn sich das System im Sleep-Modus befindet. Ab 10.4 (Tiger) werden die Jobs aber immerhin dann ausgeführt,​ wenn das System aus dem Sleep-Modus kommt. Ist das System zum festgelegten Zeitpunkt ausgeschaltet,​ wird der Job auch dann nicht ausgeführt,​ wenn später das System wieder eingeschaltet wird!</​note>​ 
-\\  
 **Verwandte Artikel:** **Verwandte Artikel:**
 [[:​mac:​start_script|->​ Apple Launchd Startskript erstellen]] [[:​mac:​start_script|->​ Apple Launchd Startskript erstellen]]
Zeile 188: Zeile 173:
 [[:​tux:​cron|->​ Der UNIX Task Scheduler »cron«]] [[:​tux:​cron|->​ Der UNIX Task Scheduler »cron«]]
 [[:​mac:​launchd|->​ Der Apple launchd Prozess]] [[:​mac:​launchd|->​ Der Apple launchd Prozess]]
-\\  + 
- --- //pronto 2010/10/31 02:01//<fbl>+ --- //pronto 2010/10/31 02:01//
 {{keywords>​launchd launchctl scheduled task zeitgesteuert startinterval startcalendarinterval overrides.plist true false}} {{keywords>​launchd launchctl scheduled task zeitgesteuert startinterval startcalendarinterval overrides.plist true false}}
mac/schedule.1303236842.txt.gz (5153 views) · Zuletzt geändert: 2011/04/19 20:14 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0