Bagaimana saya bisa mengkonfigurasi komputer saya untuk menjalankan AppleScript pada waktu tertentu? Peringatan: tanpa menggunakan iCal

11

Sejak memutakhirkan ke Lion, saya telah melihat penurunan produktivitas saat menggunakan iCal. Akibatnya, saya mencoba alternatif seperti BusyCal. Aplikasi ini tampak hebat, namun saya tidak dapat mengatur alarm untuk menjalankan skrip yang saya bisa di iCal.

Oleh karena itu, saya ingin menjadi mandiri dari iCal dan menjalankan AppleScript setiap hari tanpa harus tetap menjalankan iCal. Adakah yang tahu bagaimana melakukan ini?

finiteloop
sumber

Jawaban:

13

Anda dapat menjalankan cronjob menggunakan crontab.
Jadi pada dasarnya, untuk menjalankan cronjob, Anda harus mengetikkan nano ~/crontabTerminal. Ini akan membuat file baru bernama "crontab" di folder rumah Anda, dan membuka editor teks sederhana di Terminal. Mengetik:

* * * * * osascript ~/Desktop/theScriptToBeExecuted.applescript

Ini akan menjalankan AppleScript bernama "theScriptToBeExecuted.applescript" yang terletak di desktop Anda, setiap menit. Lima "*" sebelum osascriptperintah menentukan waktu. Berikut adalah tabel untuk menunjukkan kepada Anda apa yang dimaksud dengan masing-masing bidang:

* * * * * perintah untuk dieksekusi
- - - - -
| | | | |
| | | | + ----- hari dalam seminggu (0 - 6) (Minggu = 0)
| | | + ------- bulan (1 - 12)
| | + --------- hari dalam sebulan (1 - 31)
| + ----------- jam (0 - 23)
+ ------------- mnt (0 - 59)

Jadi untuk menjalankan perintah yang sama pada satu menit lewat tengah malam (00:01) setiap hari dalam sebulan, setiap hari dalam seminggu, ketikkan ini dalam file:

1 0 * * * osascript ~/Desktop/theScriptToBeExecuted.applescript

Jika Anda membutuhkan info lebih lanjut, lihat artikel ini di cron.

Untuk menyimpan file yang sedang Anda kerjakan, ketik Control+ X(keluar), lalu Y(beri tahu Terminal bahwa Anda ingin menyimpan file), lalu EnterSekarang ketik pada prompt. cron ~/crontabIni memberitahu cron bahwa ia harus melihat file crontab, jika file Anda bernama "crontab" di folder rumah Anda.

Alternatif lain adalah Cronnix Ini adalah GUI untuk crontab.

Timer Skrip mirip, tetapi menjalankan AppleScripts yang ditentukan pada waktu yang ditentukan. Ini sedikit lebih mudah digunakan, tetapi biayanya $ 12. Saya akan merekomendasikan hanya pergi dengan Cronnix (gratis) atau crontab (juga gratis!)

daviesgeek
sumber
bagaimana saya menggunakan utilitas itu untuk melakukan apa yang saya coba lakukan?
finiteloop
1
Apakah Anda ingin menambahkan ketentuan: tanpa menggunakan terminal?
GEdgar
Tidak, saya tidak keberatan menggunakan terminal. Saya ingin menambahkan kondisinya: tanpa menghabiskan banyak waktu mempelajari utilitas baris perintah.
finiteloop
@segfault Maaf, saya mengetiknya dan saya memposting jawabannya sebelum saya selesai.
daviesgeek
@segfault NP! Senang untuk membantu!
daviesgeek
2

Dalam versi terbaru OS X launchdlebih disukai cron. Berikut kutipan dari man crontabbawah Mavericks:

Catatan Darwin: Meskipun cron (8) dan crontab (5) secara resmi didukung di bawah Darwin, fungsionalitasnya telah diserap ke launchd (8), yang menyediakan cara yang lebih fleksibel untuk secara otomatis menjalankan perintah.

Anda dapat mengontrol launchdmenggunakan built-in launchctltetapi banyak orang (termasuk saya) menggunakan GUI yang disebut Lingon .

UPDATE: Saya sekarang menggunakan LaunchControl bukan Lingon. Ini jauh lebih kuat, meskipun antarmuka lebih rumit.

kuzzooroo
sumber