次のページ 前のページ 目次へ

10. cron、atコマンドについて

10.1 cron

cronは/etc/crontabやユーザーが定義したcrontabで指定されたコマンド を定期的に実行するためのコマンドです。Debian 1.3では /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthlyを使います。

cronはブートスクリプトから開始しますが、cronのパスがおかしいようです:

/usr/bin:/binn:/sbin:/bin:/usr/sbin:/usr/bin

これはcronのバグです。これはterminating 0なし(without terminating 0) ではじめに上書きされた/usr/bin:/binがあるinitパスです!このバグは 全てのシステムにあるわけではありません。

crontabでPATH定義をすることができます。Debian 1.3を使っているなら /etc/crontabのはじめに以下の行があります:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

このため、crondプログラムのパスはユーザープログラムで使われることは 決してありません。/etc/cron.*ディレクトリの全スクリプトは デフォルトでこのパスを参照します。プログラムがroot以外で実行された時でも このパスが使用されます。

10.2 at

atは特定の時間に一度だけプログラムを実行するのに使われます。

atdはinitパスを使います。しかしユーザープログラムは常にshコマンドを使った ユーザー環境で実行されます。そこで通常のシェル上書き(usual shell overwrites) が行われます。 bashの章を参照して下さい。


次のページ 前のページ 目次へ