OS X: Apakah ada program penjadwal bawaan?


10

Saya ingin menjadwalkan tugas untuk dieksekusi dengan parameter pada waktu / tanggal tertentu di masa depan.

Apakah OS X menyertakan alat semacam itu (bahkan jika itu adalah command-line)? Jika tidak, apakah ada alat gratis atau relatif murah di luar sana untuk mencapai ini?

Jawaban:


14

Sementara jawaban KeithB benar, sebenarnya, cron sudah usang mendukung OS X spesifik launchd .

Perintah yang harus dijalankan launchddijelaskan dalam "daftar" Apple, atau daftar properti, yang sebenarnya hanya file 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>

Karena itu, ini bukan cara penjadwalan yang sangat user friendly (atau mirip Mac) untuk dijalankan. Pertanyaan tentang SuperUser ini mencantumkan beberapa alternatif GUI, termasuk:

Lingon Screencap

launchd Editor ($ 5 Shareware)

Cuplikan Layar


3
Ini bukan karakterisasi yang adil bahwa launchd adalah "milik." Apple dengan penuh semangat membuka sumbernya di launchd.macosforge.org dan telah porting ke FreeBSD.
ohmantics

@ohmantics: Ok, titik adil. Apakah "spesifik" deskripsi yang lebih baik?
Josh

Cukup dekat. :-) Apple menciptakannya, tapi saya berharap akan melihat adopsi yang lebih luas di seluruh OS yang mirip BSD.
ohmantics

@calavera: Terima kasih atas hasil editnya. Saya benci ketika dokumen di situs web utama dihapus seperti itu. Saya menambahkan tautan baru yang sayangnya kurang relevan, itu tidak secara khusus menyebutkan cronmenjadi usang :-(
Josh

np ... sayangnya Apple sepertinya banyak melakukannya: /
Robert S Ciaccio

4

Anda juga dapat memulai alur kerja Automator dengan iCal jika Anda hanya menginginkan sesuatu yang sederhana. Kalau tidak, saya akan melakukannya melalui launchd.


Satu-satunya masalah dengan iCal adalah Anda harus masuk untuk menjalankan tugas (benar?)
Josh

ya, saya pikir Anda harus masuk untuk melakukan ini. Saya akan merekomendasikan proses launchd atas ini, tetapi beberapa orang lebih suka menggunakan iCal dan selalu masuk.
jmlumpkin

iCal adalah solusi yang lebih mudah! Lihat tutup layar yang saya poskan. Saya yakin dapat melihat bagaimana mereka bisa mengintimidasi :-)
Josh

hanya untuk klarifikasi, tangkapan layar Anda untuk pengaturan launchd, benar?
jmlumpkin

2

Ada dua alat baris perintah Unix yang melakukan apa yang Anda inginkan. atakan memungkinkan Anda untuk menjadwalkan tugas untuk dieksekusi satu kali pada waktu tertentu di masa depan. Tentu saja, bagian dari tugas itu bisa menjadwalkan tugas lain.

cron memungkinkan Anda untuk menjadwalkan tugas untuk dieksekusi secara teratur pada waktu yang sama, berdasarkan waktu, hari dalam seminggu, dll.

Satu hal yang perlu diperhatikan adalah bahwa kedua hal ini tidak akan menjalankan tugas jika mesin Anda tidak berjalan pada saat dijadwalkan. Ada beberapa alternatif, seperti anacron, yang akan menjalankan tugas terjadwal pada saat mesin dinyalakan.


1
Perhatikan bahwa, secara default, perintah "at" dinonaktifkan. Gunakan "man atrun" untuk mengetahui cara mengaktifkannya.
Kristopher Johnson

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.