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.