Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all
名前
crontab - 各ユーザーのための crontab ファイルを管理する (V3)
書式
crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e }
説明
crontab は、Vixie Cron パッケージの cron(8) デーモンの運用に使われるテーブルをインストー ル・アンインストール・ 表示するためのプログラムである。 ユーザーはそれぞれ自分用の crontab を保有できる。 これらは /var/spool/cron/crontabs 以下に置かれるが、 直接には編集できないよ うにしてある。 /etc/cron.allow ファイルが存在する場合、ユーザーがこのコマンドを使用するには、 そのファイ ル中に(そのユーザーが)リストアップされている必要がある。 /etc/cron.allow ファイルは存在 せずに /etc/cron.deny ファイルが存在する場合、ユーザーがこのコマンドを使用するには、 /etc/cron.deny ファイル中にリストアップされて いない 必要がある。 いずれのファイルも存在し ない場合、スーパーユーザーのみがこのコマンドを 使えるか、あるいはすべてのユーザーがこのコ マンドを使えることになり、 そのいずれであるかはサイトに依存した設定パラメータによって決ま る。 標準の Debian システムでは、ユーザは誰でも cron コマンドを使用できるようになってい る。 -u オプションでは、対象となる crontab の所有者名を指定する。 このオプションが与えられてい ない場合、 crontab は "あなたの" crontab 、すなわちコマンドを実行している人の crontab を 調べる。 なお、 su(8) を使っていると crontab を混同しかねないため、 su(8) 内部での実行中 は、安全のため常に -u オプションを使うべきである。 このコマンドの 1 つ目の書式は、 新しい crontab を(何らかの名前の付けられた)ファイル、 も しくは標準入力(疑似ファイル名 ``-'' が与えられた場合)から インストールするために使われ る。 -l オプションは、現在の crontab を標準出力へ表示させる。 以下の DEBIAN 固有 に書かれている 注記を参照。 -r オプションは、現在の crontab を削除する。 -e オプションは、環境変数 VISUAL もしくは EDITOR で指定されている エディターを使って、現在 の crontab を編集するのに使われる。 編集終了後、変更された crontab は自動的にインストール される。 どちらの環境変数も定義されていない場合は、 デフォルトのエディタ /usr/bin/editor が使用される。
DEBIAN 固有
オリジナルの crontab -l の挙動では、 crontab ファイルがインストールされたときにファイルの 頭に挿入される、 "DO NOT EDIT THIS FILE" で始まる 3 行のヘッダが表示される。 問題は、この 挙動のために、 crontab -l | crontab - を繰り返し実行すると同じ結果を返さない、 つまりヘッダのコピーを追加し続けてしまうことであ る。 これは、crontab の編集に sed を使用するスクリプトには悩みの種になる。 したがって、 -l オプションのデフォルトの挙動は、 そのようなヘッダを出力しないように変更されている。 環境変 数 CRONTAB_NOHEADER を 'N' に設定すれば、元々の挙動どおり、 crontab -l コマンドが追加の ヘッダを出力するようになる。
関連項目
crontab(5), cron(8)
ファイル
/etc/cron/allow /etc/cron/deny
準拠
crontab コマンドは、IEEE Std1003.2-1992 (``POSIX'') に準拠している。 この新しいコマンドの シンタックスは、 Vixie Cron の前のバージョンと異なっている (古典的な SVR3 シンタックスとも 異なる)。
返り値
正しくないコマンドラインでこのコマンドを実行すると、 多少の情報を含む利用法のメッセージが 表示される。
バグ
cron では crontab の各エントリの末尾に改行文字があることが必要になるが、 crontab コマンド も cron デーモンも、それに関する間違いを検出しない。 それどころか、crontab は通常どおり ロードするように見える。 しかし、改行文字で終わっていないコマンドは絶対に実行されない。 間 違いを防ぐためには、 crontab の末尾に必ず空行を入れるようにするのが一番よい。
著者
Paul Vixie <paul@vix.com>