LoginSignup
8
9

iCalでシェルスクリプトをスケジュール実行する方法

Last updated at Posted at 2015-11-29

手順

1.Automatorの新規作成で「カレンダーアラーム」を選択

スナップショット 2012:10:08 23:42.png

2.アクション「シェルスクリプトを実行」を追加し、スクリプトを書く

スナップショット 2012:10:08 23:44.png

3.カレンダーアラームを保存するとiCalにAutomatorという名のカレンダーが作成され、カレンダーアラームと同名のイベントが追加される

スナップショット 2012:10:08 23:46.png

保存場所

カレンダーアラームは下記の場所に保存される。
~/Library/Workflows/Applications/Calendar

イベント終了後もカレンダーアラームは削除されないので、新規イベント作成時に再利用できる。
通知>カスタム…>ファイルを開く
170109-0001.png

注意

Automator上でスクリプトのデバッグをするのは難しいため、スクリプトは別ファイルとして用意し、カレンダーアラームからはそれを呼び出すだけにした方が良い。また、カレンダーアラームはログを残さないので、スクリプト側でログを出力するようにする。

カレンダーアラームはカレンダーアプリの通知として実行される。集中モードの設定等で通知がブロックされていた場合、カレンダーアラームは実行されない。集中モード「睡眠」はデフォルトで全ての通知をブロックしているため、深夜に実行したい場合は集中モードの設定を変更する必要がある。

macがスリープ中はカレンダーアラームは実行されない。カレンダーアラームが実行されるタイミングにスリープしていない状態を維持する必要がある。

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9