OSX 10.5 Leopardでcronを使う

Leopardで定期的にrsyncを走らせたくて、cronを使おうとしたらはまったので書いておく。

cronが起動されていない?

"ps ax"でみたけどcronの名前がなかったので、xinetdとかかな?と思ったけど違うらしい。
OSX10.4からデーモンはlaunchdというプログラムで管理することになったそうだ。
launchdで最初からcronが動くようには設定されているみたいだ。

crontabはどこだ

cronが動いていることはわかったので、crontabを編集する。
が、/etc/crontabがあるかと思っていたら、無い。
/etc/crontabを作成すると、特に問題なく動作した。

別のcrontab

/etc/crontabを作成せずにユーザごとにcrontabを設定することもできる。
"crontab -e"でcrontabを編集できる。このときユーザはroot権限が無くてもよい。
この場合、"/usr/lib/cron/tabs/ユーザ名"のファイルが作成される。
ここで作成するcrontabでは、実行ユーザを省略する。crontabを作成したユーザでcronのタスクが実行される。
"crontab ファイル名"とすると、"/usr/lib/cron/tabs/ユーザ名"が指定したファイルの内容で上書きされる。