2004年07月15日 (木)
|
| 略記法 | 説明 |
|---|---|
| @reboot |
Mac OS X の起動時に一度だけ実行されます。 これは前回紹介したタイミングです。 |
| @yearly |
毎年 1 月 1 日の午前零時丁度に実行されます。 年に一度ということですから、バックアップのタイミングとしては頻度が少な過ぎますね。 |
| @monthly |
毎月 1 日の午前零時丁度に実行されます。 月に一度ということですから、バックアップのタイミングとしてはちょっと頻度が少な過ぎますね。 |
| @weekly |
毎週日曜日の午前零時丁度に実行されます。 週に一度ということですから、このあたりからバックアップのタイミングとして許容範囲に入ってきます。何か事故があったとき最大一週間前の状態にまでは回復できますが、この状況を想像して泣きそうになる人はもっと頻繁な指定がよいですね。 |
| @daily |
毎日午前零時丁度に実行されます。 バックアップの頻度としては大体妥当な線だと思います。ただ、毎日エントリする人はともかく数日に一度とか一週間に一度というペースの人はちょっと頻繁過ぎますね。 |
| @hourly |
毎時 0 分に実行されます。 これはいくらなんでも普通は頻繁すぎるでしょう。 |
略記法ではなく基礎的な -- これは論理的に基礎的ということで簡単というニュアンスはありません -- 指定方法を説明します。定期的に iBlogFreezer を実行する場合、ほとんどこのやり方でカバーできます。
@reboot
に相当する部分の詳しい書き方は次の書式を使用します。
分指定 時指定 日指定 月指定 曜日指定それぞれの指定の間はスペースまたは TAB で区切ります。各指定は次の値を指定できます。
| 指定 | 値 |
|---|---|
| 分指定 | 0 から 59 |
| 時指定 | 0 から 23 |
| 日指定 | 1 から 31 |
| 月指定 | 1 から 12、または英語の月名の最初の三文字(大文字小文字はどちらでもよい) |
| 曜日指定 | 0 から 7 (0 と 7 は日曜日を指す)、または英語の曜日名の最初の三文字(大文字小文字はどちらでもよい) |
どの指定も *
で、そこは指定しないとすることができます。例えば月指定を *
とすることで「毎月」という意味になります。
また、どの指定も ,
(カンマ) によって列挙指定ができます。例えば曜日指定に 1,3,5
と書くと「月曜日と水曜日と金曜日」という意味になります。
更に、どの指定も -
(ハイフン) によって範囲指定ができます。例えば時指定に 9-17
と書くと「9時 から 17時まで(17時を含む)」という意味になります。この範囲指定の後ろに /数
と書くことで「スキップ数」を付加して指定できます。例えば 9-17/2
とすると「9時 から 17時まで(17時を含む) 2 時間毎」という意味になります。これは列挙指定を使って 9,11,13,15,17
と書いたのと同じ結果をもたらします。月や曜日に名前を使うときは範囲指定できません。
列挙指定も範囲指定も普通の指定も組み合わせることができます。例えば時間指定に 9-11,13-17
と書くと「9時 から 11時 まで(11時を含む)と 13時 から 17時 まで(17時を含む)」という意味になります。このように組み合わせて細かい指定ができますが、複数の指定をこういう複合型の指定にしようとしてややっこしくなってきたら、いっそうのこと複数行に分けた方が後から変更するときも悩まなくて済みます。過ぎたるは及ばざるがごとしですね。
例として上に列挙した略記法をこの形式に置き換えてみましょう。
| 略記法 | 言い換え |
|---|---|
| @reboot | (言い換え方法はありません) |
| @yearly | 0 0 1 1 * |
| @monthly | 0 0 1 * * |
| @weekly | 0 0 * * 0 |
| @daily | 0 0 * * * |
| @hourly | 0 * * * * |
cron による定期的な処理がいかに強力かおわかりいただけたでしょうか? 例えば家族への誕生日おめでとうメールを自動的に送信するなんてことにも使えますし、ファイアーウォールのログファイルを毎分解析して DoS 攻撃を検知したら攻撃元からのアクセスを遮断するというプロのようなことにも使えます。シェルスクリプトや Perl スクリプトと組み合わせることによって高度なことが比較的容易にできるのです。
0,30 * * * *としてこのスクリプトを実行すると、iBlog を使用しておらず最後のバックアップが古くなっているかどうかを 30 分毎にチェックして、自動でバックアップをとってくれます。
.Mac および .Mac 配布アプリケーションを利用するためのノウハウやツールを提供しているウェブログです。iBlog の諸問題を克服し様々な機能を追加するためのツール iblogPatcher とそのプラグインや iBlog のバックアッププログラム iBlogFreezer の開発と公開、.Mac カウンタなど .Mac 提供機能の流用&カスタマイズ方法の紹介などがメインコンテンツです。