OS X: Czy jest wbudowany program planujący?


10

Chciałbym zaplanować wykonanie zadania z parametrami o określonej godzinie / dacie w przyszłości.

Czy OS X zawiera takie narzędzie (nawet jeśli jest to wiersz poleceń)? Jeśli nie, czy istnieją jakieś darmowe lub stosunkowo tanie narzędzia, aby to osiągnąć?

Odpowiedzi:


14

Chociaż odpowiedź KeithB jest prawidłowa, faktycznie, cron jest przestarzałe na rzecz OS X specyficznego launchd .

Polecenia do uruchomienia launchdsą opisane w „listach” Apple lub listach właściwości, które są tak naprawdę tylko plikami XML:

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

To powiedziawszy, nie jest to bardzo przyjazny dla użytkownika (ani podobny do Maca) sposób planowania poleceń do uruchomienia. To pytanie w SuperUser wymienia kilka alternatyw GUI, w tym:

Lingon Screencap

uruchomiono edytor (Shareware 5 USD)

Zrzut ekranu


3
Nie jest to uczciwa charakterystyka, że ​​wprowadzony na rynek jest „zastrzeżony”. Firma Apple chętnie go otworzyła na stronie launchd.macosforge.org i została przeniesiona do FreeBSD.
omantyka

@ohmantics: Ok, słuszny punkt. Czy „konkretny” jest lepszym opisem?
Josh

Wystarczająco blisko. :-) Apple to stworzyło, ale spodziewam się, że będzie szersze zastosowanie w systemach operacyjnych podobnych do BSD.
omantyka

@calavera: Dzięki za edycję. Nienawidzę tego, gdy dokumenty z głównych stron internetowych są w ten sposób usuwane. Dodałem nowy link, który jest niestety mniej odpowiedni, nie wspomina o tym, cronże jest przestarzały :-(
Josh

np ... niestety Apple wydaje się często to robić: /
Robert S Ciaccio,

4

Możesz także uruchomić przepływy pracy Automatora za pomocą iCal, jeśli chcesz czegoś prostego. W przeciwnym razie zrobiłbym to poprzez uruchomienie.


Jedynym problemem związanym z programem iCal jest to, że musisz się zalogować, aby uruchomić zadanie (poprawne?)
Josh

tak, myślę, że musisz być zalogowany, aby to zrobić. Poleciłbym nad tym uruchomiony proces, ale niektórzy wolą po prostu używać iCal i są zawsze zalogowani.
jmlumpkin

iCal to znacznie łatwiejsze rozwiązanie! Zobacz napisane przeze mnie czapki ekranowe. Z pewnością widzę, jak mogą być zastraszające :-)
Josh

tylko dla wyjaśnienia, twoje zrzuty ekranu są do uruchomienia instalacji, prawda?
jmlumpkin,

2

Istnieją dwa narzędzia wiersza polecenia systemu Unix, które robią, co chcesz. atpozwoli Ci zaplanować wykonanie zadania raz w określonym czasie w przyszłości. Oczywiście częścią zadania może być zaplanowanie innego zadania.

cron pozwala zaplanować zadania, które będą regularnie wykonywane w tym samym czasie, na podstawie pory dnia, dnia tygodnia itp.

Należy zauważyć, że oba te zadania nie będą uruchamiać zadań, jeśli komputer nie działa w czasie, gdy są zaplanowane. Istnieją alternatywy, takie jak anakron, które uruchamiają zaplanowane zadania przy następnym uruchomieniu komputera.


1
Zauważ, że domyślnie polecenie „at” jest wyłączone. Użyj „man atrun”, aby dowiedzieć się, jak to włączyć.
Kristopher Johnson

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.