FILE12
概要;マクロ管理その4.〜Cronを利用してマクロ実行をスケジュール化〜
関連; Cron

ここではCronというアプリケーションを用いて、マクロをあらかじめ定められたスケジュールのもとで実行する方法を紹介します.もちろんCronを常時走らせておく必要がありますので、起動項目にエイリアスを入れておくなどの準備が必要です.
具体例として既にFILE10, 11で紹介したログファイル作成とRAMディスクの内容保存などをとりあげます.工夫次第で色々なことが出来るでしょう.

準備
CronにKeyQuencerのマクロを実行させるためには、KeyQuencer付属のアプリケーションKQMacro(フォルダLinks内のフォルダCronの中にあります)をCron本体と同じフォルダに入れる必要があります(図参照).Cron本体のフォルダ
Cronのスケジュールはcrontabというテキストファイルに記述します.以下の例はいずれもこのcrontabに記入する内容です.


起動時にマクロ実行
Cronを用いて起動時にマクロを実行するにはcrontabに
startup 0 : * * * * * * KQMacro "........"
とかきます.........の部分が具体的なマクロです.

例1.ログファイル記入
FILE10で紹介した内容です.準備としてFILE10と同じようにシステムフォルダ内に「Log File」という名前のファイルを作成しておく必要があります.crontabに以下のように記入します.startup 0 :* * * * * * KQMacro "ClipFile read system ''Log File''" "ChangeClip ''起動 : ¥¥(short year)/¥¥(zero month)/¥¥(zero day)-¥¥(time)¥¥r'' after" "ClipFile write system ''Log File''"
crontab記入例
※書き出しの部分にスペースやタブを入れないことと、途中で改行を入れないこととに注意して下さい(上の記入例ではエディタで行の折り返し表示をしているだけです).また、KQMacro "........"の........部分にマクロを記入する際はKeyQuencer本来のマクロで用いられる記号を以下の様に換える必要があります.

	バックスラッシュ¥を     ¥¥にする
	ダブルクウォーツ"を   シングルクウォーツ2回 '' にする
	改行を   ダブルクウォーツ"で挟まれたスペースにする
上の例とFILE10のマクロとを比べてみて下さい.なおこの書き換えはKeyQuencerホームページにあるVolodskis macrosのTranslatorsからChC: Macro into KQMacroを実行することで容易に行なえます.

システム終了時に実行
Cronを用いてシステム終了時にマクロを実行するにはcrontabに
shutdown : * * * * * * KQMacro "........"
とかきます.........の部分が具体的なマクロです.

例2.ログファイル記入
FILE10同様、例1と対になるものです.crontabに以下のように記入します.
shutdown :* * * * * * KQMacro "ClipFile read system ''Log File''" "ChangeClip ''¥¥t終了 : ¥¥(short year)/¥¥(zero month)/¥¥(zero day)-¥¥(time)¥¥r'' after" "ClipFile write system ''Log File''"

例3.RAMディスクの内容を保存
FILE11で紹介した内容です.crontabに以下のように記入します.
shutdown :* * * * * * KQMacro "File ''RAMディスク'' copy to sysdisk enforce dangerous"


定期的に実行
Cronを用いて定期的にマクロを実行する方法を紹介します.

例4.RAMディスクの内容を保存
FILE11と同様、例3と組になるものです.FILE11で紹介したCoffee Timerでは時間間隔が実行のきっかけになりましたが、Cronでは時刻が実行のきっかけを与えます.ここでは毎時00分,10分,20分,30分,40分,50分にこのマクロを実行する方法を紹介します.もちろん時刻は任意に書き換えて下さい.crontabには以下のように記入します.
0 * * * * * KQMacro "File ''RAMディスク'' copy to sysdisk enforce dangerous"
10 * * * * * KQMacro "File ''RAMディスク'' copy to sysdisk enforce dangerous"
20 * * * * * KQMacro "File ''RAMディスク'' copy to sysdisk enforce dangerous"
30 * * * * * KQMacro "File ''RAMディスク'' copy to sysdisk enforce dangerous"
40 * * * * * KQMacro "File ''RAMディスク'' copy to sysdisk enforce dangerous"
50 * * * * * KQMacro "File ''RAMディスク'' copy to sysdisk enforce dangerous"

指定した日時に実行
Cronを用いて指定した日時にマクロを実行する例を紹介します.

例5.Macで季節を感じる(ひょっとするとこれが一番Macらしい使い方かも…).
ここではクリスマスの雰囲気を演出するアプリケーションSnowを例にしました.12月24日午後8時にSnowを起動する例です.crontabには以下のように記入します.XsnwはSnowのクリエーターです.
0 20 24 12 * * KQMacro "Open 'Xsnw'"
※なお実際にはCron自身がアプリケーションを起動する機能を持っているので
0 20 24 12 * * "Xsnw"
とするだけで十分です.それにしても12月24日午後8時にMacに向かってるってのもむなしい….


to [previousFile] [nextFile]

|| Top || KeyQuencerとは || FILES || お知らせ ||
|| BinarySoftware社 KeyQuencerページ ||