1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
http://wakabamac.blog95.fc2.com/blog-entry-663.html

CronniX : アプリの起動などのコマンドを指定日時に実行できる
OS10.4以上(UB)
ドネーションウェア、日本語対応
UNIXの
cron
(crontab
)コマンドのGUIフロントエンドアプリケーションで、コマンドを指定の日時に実行できて便利な「CronniX」の紹介です。自動的にバックアップアプリケーションを起動させたり、目覚まし代わりに iTunes を再生する、自動的にメンテナンス用のスクリプトを実行させる等、アイディア次第で便利に使えます。

ヘルプより
システムスケジューラ“cron”は、システムの起動時に自動的に起動される UNIX プログラムで、毎分“crontab”と呼ばれるファイルで実行すべきタスクを確認します。システム上のすべてのユーザ、およびシステム自体がそれぞれ 1 つずつの crontab を持つことができます。CronniX ではこれらの crontab を一度に編集することができるのです。
crontab
については『crontabの設定メモ - ザリガニが見ていた...。』のページが詳しくて分かり易いです。僕はUNIXについては詳しくなく、ターミナルを使うだけでも尻込みするので、crontab なんて・・・と怖じ気づいてしまいますが、CronniX を使うと簡単に設定ができます。
CronniX を起動すると、下のようなウインドウが開きます。

(ClamXav のスケジュール設定、Clover Diary を使っている人ならば、初めて起動したとしても、既にいくつかスケジュール設定されていると思います)
設定しているタスクのリストが表示され、各リストの左端の「✓」の有無でON/OFF切り替えができます。
「新規」ボタンでダイアログを開き、下部でコマンド入力、上部で日時を設定して crontab のスケジュールを設定します。

【設定例1】毎日指定する時間にアプリケーションを起動する
例えば、Mail.app を月~金曜日の毎朝9:00に起動してメールチェックするなどの場合、コマンドは下のようになります。
open -a Mail
こんな感じで「アプリケーション」フォルダ内に存在するアプリケーションは
「
open -a
」の後にアプリ名を指定します。(「アプリケーション」フォルダに存在しないものは「
-a
」オプションではなく、パスを""で囲って指定して下さい)ツールバーの「新規」ボタンでダイアログを開き、スケジュールの設定は下のようにします。

- 分 0
- 時 9(時間の入力は24時間単位で)
- 日 *(✓ を入れると「*」ワイルドカードになる)
- 月 *(✓ を入れると「*」ワイルドカードになる)
- 曜日 月~金曜日に ✓ を入れる
これで左下の「新規」ボタンをクリックして、スケジュールを登録します。
ツールバーの「編集」ボタンで、いつでも修正できます。
登録したスケジュールには、メインウインドウ下の欄に注釈メモを付けられます。

最後にツールバーの「保存」ボタン( command+S )で、リストの各スケジュールを保存します。

これで Mail.app は、月~金曜日の毎朝9:00に自動的に起動するようになります。
【設定例2】複雑な日時指定でのアプリ起動・ファイルを開く
他にも例えば、夏の風物詩のアプリケーション「爽~風鈴」を8月の5~25日の間だけ、毎時15分と45分に起動させたいときは下のように設定します。

- 「分」は「15,45」という風にして15分と45分に実行するようにします
- 「時」は「*」として毎時という設定します
- 「日」は「5-25」という風にして、5日から25日の期間を設定します
- 「月」は「8」とし、8月に設定します
- 「曜日」は「*」としてすべての曜日になるようにします
「*」(ワイルドカード)は、毎分、毎時、毎日、毎月、すべての曜日といった具合に解釈されます。
他にも「*/2」という設定を「時」にすると、2時間に1回という設定になります。
このあたりのスケジュールの設定は、ヘルプや、crontabの設定 を参考にするといいでしょう。
コマンドを入力するのが面倒だ、という場合には、開きたいアプリケーションやファイルをメインウインドウにドラッグ&ドロップすることによって、簡単に登録できます。

ドラッグ&ドロップすると、自動的にコマンドが
/usr/bin/open "ファイルのパス"
となります。
ただ、パスに日本語を含むせいなのか?よくわからないけど、このコマンドの記述ではちゃんと起動できませんでした。なので
open -a Fuurin
と書き直したら、ちゃんと機能しました。【設定例3】iTunes を目覚まし代わりに再生する
例えば、iTunes を目覚まし代わりに毎朝AM7:00に再生するように設定してみます。

iTunesを起動するだけでは自動的に再生されないので、コマンドはAppleScriptをコマンドラインで実行するようにします。
osascript -e 'tell application "iTunes" to play'
これを登録すると、毎朝7:00にiTunesが再生するようになります。
ただ、Mac本体がスリープしてたりすると意味が無いので、Mac本体をこれよりも前にスリープから復帰(or 起動)するように設定します。
(これは CronniX とは関係ない話だけど)
システム環境設定 > 省エネルギー > スリープ
の「スケジュール...」ボタンをクリックして、ダイアログで設定します。

もっと、たくさんのシステムの起動(スリープからの復帰)・終了・スリープのスケジュール設定を行う場合には、MacSSController と CronniX を組み合わせて使うと便利です。

【設定例4】夜中にメンテナンス用のスクリプトを起動させる
僕の場合、毎週土曜日の夜中のAM3:00ごろに MacSSController を使って、Macをスリープ復帰させて、その時間にClamXavでウィルススキャン、起動ボリュームのアクセス権の修復、を行っています。
だいたい、2時間ぐらいは起動しているようにして、ちょうどシステム標準のデイリー(AM3:15~)、ウィークリー(AM4:30~)のメンテナンススクリプトが起動する時間に合わせています。
- AM2:59 MacSSController でスリープ復帰
- AM3:00 ClamXav のウィルス定義の更新
(ClamXavでのスケジュール設定) - AM3:01 Caffeine(スリープを妨げるアプリ)のOFF
(CronniX でコマンド実行)osascript -e 'tell application "Caffeine" to turn off'
- AM3:05 起動ボリュームのアクセス権の修復
(CronniX でコマンド実行)diskutil repairPermissions /
- AM3:15 ClamXav のウィルススキャン(ClamXavでのスケジュール設定)
これにだいたい120分ぐらい掛かる - AM3:15 システム標準のデイリースクリプト実行
- AM4:30 システム標準のウィークリースクリプト実行
- システム環境設定の「省エネルギー」でのスリープ設定は10分後にしてあるので、ウィルススキャンが終わったころ、適当にスリープする
- AM6:30 MacSSController でスリープさせる(一応念のため)
こんな感じで土曜日にウィルススキャンと、各種メンテナンススクリプトを実行させるようにしています。
他にも夜中にバックアップアプリケーションでバックアップを取ったり、CronniX はいろいろと便利に使えます。
ヘルプも日本語に訳されているので安心。

この記事では CronniX 3.0.2 を使用しています。
(ダウンロードリンク)
Site top page : - Welcome
Project page : - CronniX
Download page : - Download
(関連記事)
MacSSController --- Macを指定した時間に起動・終了・スリープさせる