スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2005.11.28

Run maintenance scripts via cron

Mac OS X 10.4とそれ以前で大きく変わったことの一つに、launchdの導入があります。様々な機能が置き換わり、従来はcron経由で実行されていたメンテナンススクリプト(/etc/{daily, weekly, monthly})もlaunchd 経由に変わりました。初期設定は午前3時や4時なんていうマシンが起動してないような時間なので、今までは /etc/crontab を編集して時間を変更していました。これが10.4では /System/Library/LaunchDaemons 以下の

  • com.apple.periodic-daily.plist
  • com.apple.periodic-weekly.plist
  • com.apple.periodic-monthly.plist

これらのファイルを編集することになります。で、時間を変更後しばらくして気づいたのですが、/var/log にあるファイルが全然ローテーションしてない‥。いろいろ時間を変更してみると、どうもメンテナンススクリプトが実行されていない。


そこで検索してみると、どうやら10.4のバグのようです。

If your Mac is neither shutdown nor in sleep mode at the scripts' scheduled times, the launchd process will only execute the scripts on schedule one time. Unless you restart your Mac daily ― in addition to assuring it is neither shutdown nor in sleep mode at the scheduled times ― you should run the maintenance scripts manually.

Running Mac OS X Maintenance Scripts

となると従来通り /etc/crontab を編集してcron 経由で走らすのが良さそうなので、下記のようにしました。

% cat /etc/crontab
# The periodic and atrun jobs have moved to launchd jobs
# See /System/Library/LaunchDaemons
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#minute  hour    mday    month  wday  who command
30        23           *       *       *       root    periodic daily
30        0             *       *       6       root    periodic weekly
30        1             1       *       *       root    periodic monthly

ファイルを変更後何もしなくてもcron が起動していると思われますが、念のためActivity Monitor で確認しておく方がよいかと思います。

関連記事
この記事へのトラックバックURL
http://wildlifesanctuary.blog38.fc2.com/tb.php/3-8d87abf5
この記事へのトラックバック
この記事へのコメント
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。