OS X: Gibt es ein eingebautes Scheduler-Programm?

10

Ich möchte eine Aufgabe planen, die mit Parametern zu einem bestimmten Zeitpunkt / Datum in der Zukunft ausgeführt werden soll.

Enthält OS X ein solches Tool (auch wenn es sich um eine Befehlszeile handelt)? Wenn nicht, gibt es kostenlose oder relativ billige Tools, um dies zu erreichen?

Glenneroo
quelle

Antworten:

14

Während KeithBs Antwort richtig ist, cron wird sie tatsächlich zugunsten des OS X-spezifischen veraltetlaunchd .

Befehle, über die ausgeführt launchdwerden soll, werden in Apple "Plists" oder Eigenschaftslisten beschrieben, bei denen es sich eigentlich nur um XML-Dateien handelt:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.
com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>  
    <key>Label</key>
    <string>com.apple.periodic-daily</string>
    <key>ProgramArguments</key>
    <array> 
        <string>/usr/sbin/periodic</string>
        <string>daily</string>
    </array>
    <key>LowPriorityIO</key>
    <true/>
    <key>Nice</key>
    <integer>1</integer>
    <key>StartCalendarInterval</key>
    <dict>  
        <key>Hour</key>
        <integer>3</integer>
        <key>Minute</key>
        <integer>15</integer>
    </dict>
</dict>
</plist>

Trotzdem ist es keine sehr benutzerfreundliche (oder Mac-ähnliche) Methode, Befehle auszuführen, die ausgeführt werden sollen. Diese Frage in SuperUser listet einige GUI-Alternativen auf, darunter:

Lingon Screencap

Launchd Editor ($ 5 Shareware)

Bildschirmaufnahme

Josh
quelle
3
Es ist keine faire Charakterisierung, dass launchd "proprietär" ist. Apple hat es eifrig unter launchd.macosforge.org als Open-Source- Version bereitgestellt und es wurde auf FreeBSD portiert.
Ohmantics
@ Ohmantics: Ok, fairer Punkt. Ist "spezifisch" eine bessere Beschreibung?
Josh
Nahe genug. :-) Apple hat es erstellt, aber ich gehe davon aus, dass es bei BSD-ähnlichen Betriebssystemen eine breitere Akzeptanz finden wird.
Ohmantics
@calavera: Danke für die Bearbeitung. Ich hasse es, wenn Dokumente auf wichtigen Websites so entfernt werden. Ich habe einen neuen Link hinzugefügt, der leider weniger relevant ist. Er erwähnt nicht ausdrücklich, dass croner veraltet ist :-(
Josh
np ... leider scheint Apple es viel zu tun: /
Robert S Ciaccio
4

Sie können Automator-Workflows auch mit iCal starten, wenn Sie nur etwas Einfaches möchten. Sonst würde ich es durch launchd machen.

jmlumpkin
quelle
Das einzige Problem mit iCal ist, dass Sie angemeldet sein müssen, damit die Aufgabe ausgeführt werden kann (richtig?)
Josh
Ja, ich denke, Sie müssen angemeldet sein, um dies zu tun. Ich würde den Startvorgang darüber empfehlen, aber einige Leute würden lieber nur iCal verwenden und sind immer angemeldet.
jmlumpkin
iCal ist eine viel einfachere Lösung! Siehe die von mir geposteten Bildschirmkappen. Ich kann sicher sehen, wie sie einschüchternd sein könnten :-)
Josh
Nur zur Verdeutlichung sind Ihre Screenshots für das Start-Setup gedacht, richtig?
Jmlumpkin
2

Es gibt zwei Unix-Befehlszeilentools, die das tun, was Sie wollen. atMit dieser Option können Sie festlegen, dass eine Aufgabe zu einem bestimmten Zeitpunkt in der Zukunft einmal ausgeführt werden soll. Ein Teil der Aufgabe könnte natürlich darin bestehen, eine andere Aufgabe zu planen.

cron Mit dieser Option können Sie festlegen, dass Aufgaben regelmäßig zur gleichen Zeit ausgeführt werden, basierend auf Tageszeit, Wochentag usw.

Beachten Sie, dass in beiden Fällen keine Aufgaben ausgeführt werden, wenn Ihr Computer zum geplanten Zeitpunkt nicht ausgeführt wird. Es gibt Alternativen wie Anacron, die beim nächsten Start des Computers geplante Aufgaben ausführen.

KeithB
quelle
1
Beachten Sie, dass der Befehl "at" standardmäßig deaktiviert ist. Verwenden Sie "man atrun", um herauszufinden, wie Sie es aktivieren können.
Kristopher Johnson
2

iCal kann verwendet werden, um AppleScripts auszuführen , Anwendungen zu starten und Aufgaben nach einem Zeitplan auszuführen.

Die Verwendung von iCal unterliegt Einschränkungen, ist jedoch in Mac OS X enthalten und relativ einfach einzurichten. Die Einschränkungen und eine visuelle Anleitung zum Einrichten eines geplanten AppleScript sind im obigen Link enthalten.

Einrichten eines geplanten AppleScript mit iCal unter Mac OS X.

Graham Miln
quelle