Jalankan skrip cangkerang pada masa tertentu
Untuk menjadualkan skrip cangkerang untuk dijalankan pada masa tertentu, gunakan sama ada launchd
atau cron
.
Jadualkan tugasan dengan launchd
Gunakan
launchd
dan bukannyacron
untuk jadualkan tugas. Denganlaunchd
, jika tugasan dilangkau kerana komputer ditutup atau tidur, tugasan ditambah ke giliran apabila komputer kembali dalam talian semula.Untuk menggunakan
launchd
untuk menjadualkan kerja berdasarkan pemasa, gunakan kekunciStartCalendarInterval
atauStartInterval
.Untuk mendapatkan maklumat lanjut tentang
launchd
, lihat halaman panduannya.
Gunakan cron untuk menjadualkan tugasan
Daemon cron
melaksanakan perintah dijadualkan yang ditakrifkan dalam fail crontab. Daemon cron
mencari folder /usr/lib/cron/tabs/ untuk fail crontab dinamakan sempena nama akaun dalam /etc/passwd dan muatkan ke dalam ingatan. Daemon cron
juga mencari folder /etc/crontab/ untuk fail crontab, yang mempunyai format berbeza. cron
kemudian dikitar setiap minit, memeriksa fail crontab yang disimpan dan memeriksa setiap perintah untuk melihat sama ada ianya patut berjalan pada minit semasa.
Apabila perintah dilaksanakan, output dimel ke pemilik fail crontab atau ke nama pengguna dalam pembolehubah persekitaran MAILTO pilihan dalam fail crontab.
Anda boleh gunakan alat crontab
untuk memasang, nyahpasang atau senaraikan jadual yang digunakan untuk memacu daemon cron
. Pengguna boleh mempunyai fail crontab mereka sendiri.
Untuk mengkonfigurasi fail crontab anda, gunakan perintah
crontab -e
. Ini membuka fail crontab kosong dalam mod edit vim.Begini contoh fail crontab:
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#min hour mday month wday command
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
50 23 * * 0 diskutil repairVolume /Volumes/MacHD
Dalam contoh ini, entri pertama membaiki kebenaran cakera untuk volum MacHD pada 18:30 setiap hari, Isnin hingga Jumaat:
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
Entri kedua menjadualkan operasi pembaikan volum untuk berjalan pada 23:50 setiap hari Ahad:
50 23 * * 0 diskutil repairVolume /Volumes/MacHD