Làm cách nào tôi có thể định cấu hình máy tính của mình để chạy AppleScript tại một thời điểm cụ thể? Hãy cẩn thận: không sử dụng iCal


11

Kể từ khi nâng cấp lên Lion, tôi đã thấy năng suất giảm đáng kể khi sử dụng iCal. Kết quả là, tôi đang thử các lựa chọn thay thế như BusyCal. Ứng dụng này có vẻ tuyệt vời, tuy nhiên tôi không thể đặt báo thức để chạy tập lệnh như tôi có thể trong iCal.

Do đó, tôi muốn trở nên độc lập với iCal và có AppleScript chạy hàng ngày mà không phải chạy iCal. Bất kỳ ý tưởng làm thế nào để làm điều này?

Câu trả lời:


13

Bạn có thể chạy một cronjob bằng crontab.
Vì vậy, về cơ bản, để chạy một cronjob, bạn sẽ cần phải nhập nano ~/crontabvào Terminal. Điều này sẽ tạo một tệp mới gọi là "crontab" trong thư mục nhà của bạn và mở ra một trình soạn thảo văn bản đơn giản trong Terminal. Kiểu:

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

Điều này sẽ chạy một AppleScript có tên "theScriptToBeExecuted.applescript" nằm trên máy tính để bàn của bạn, mỗi phút. Năm "*" trước osascriptlệnh chỉ định thời gian. Đây là bảng để cho bạn biết mỗi trường đại diện cho điều gì:

Lệnh * * * * * được thực thi
- - - - -
| | | | |
| | | | + ----- ngày trong tuần (0 - 6) (Chủ nhật = 0)
| | | + ------- tháng (1 - 12)
| | + --------- ngày trong tháng (1 - 31)
| + ----------- giờ (0 - 23)
+ ------------- phút (0 - 59)

Vì vậy, để chạy cùng một lệnh vào một phút trước nửa đêm (00:01) mỗi ngày trong tháng, mỗi ngày trong tuần, hãy nhập lệnh này vào tệp:

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

Nếu bạn cần thêm thông tin, hãy xem bài viết này trên cron.

Để lưu tệp mà bạn đang làm việc, hãy nhập Control+ X(thoát), sau đó Y(nói với Terminal rằng bạn muốn lưu tệp), sau đó Entergõ vào dấu nhắc cron ~/crontabĐiều này cho cron biết rằng nó nên xem tệp crontab, nếu tập tin của bạn được đặt tên là "crontab" trong thư mục nhà của bạn.

Một cách khác là Cronnix Đó là GUI cho crontab.

Script Timer tương tự, nhưng nó chạy AppleScripts được chỉ định tại các thời điểm được chỉ định. Nó dễ sử dụng hơn một chút, nhưng nó có giá 12 đô la. Tôi khuyên bạn chỉ nên đi với Cronnix (miễn phí) hoặc crontab (cũng miễn phí!)


Làm thế nào tôi có thể sử dụng tiện ích đó để làm những gì tôi đang cố gắng làm?
Finiteloop

1
Bạn có muốn thêm điều kiện: không sử dụng thiết bị đầu cuối?
GEdgar

Không, tôi ổn với việc sử dụng thiết bị đầu cuối. Tôi muốn thêm điều kiện: không mất nhiều thời gian tìm hiểu tiện ích dòng lệnh.
Finiteloop

@segfault Xin lỗi, tôi đã gõ nó lên và tôi đã đăng câu trả lời trước khi hoàn thành.
daviesgeek

@segfault NP! Rất vui được giúp đỡ!
daviesgeek

2

Trong các phiên bản gần đây của OS X launchdđược ưu tiên cron. Đây là một đoạn trích từ man crontabdưới Mavericks:

Darwin lưu ý: Mặc dù cron (8) và crontab (5) được hỗ trợ chính thức theo Darwin, chức năng của chúng đã được hấp thụ vào launchd (8), cung cấp một cách linh hoạt hơn để thực hiện các lệnh tự động.

Bạn có thể kiểm soát launchdbằng cách sử dụng tích hợp launchctlnhưng nhiều người (bao gồm cả tôi) sử dụng GUI có tên là Lingon .

CẬP NHẬT: Bây giờ tôi sử dụng LaunchControl thay vì Lingon. Nó mạnh hơn rất nhiều, mặc dù giao diện phức tạp hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.