名 前
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 コ マ ン ド が 追 加 の ヘ ッ ダ を 出 力 す る よ う に な る 。
関 連 項 目
フ ァ イ ル
/etc/cron/allow
/etc/cron/deny
準 拠
crontab コ マ ン ド は 、 IEEE Std1003.2-1992 (’’POSIX’’) に 準 拠 し て い る 。 こ の 新 し い コ マ ン ド の シ ン タ ッ ク ス は 、 Vixie Cron の 前 の バ ー ジ ョ ン と 異 な っ て い る (古 典 的 な SVR3 シ ン タ ッ ク ス と も 異 な る )。
返 り 値
正 し く な い コ マ ン ド ラ イ ン で こ の コ マ ン ド を 実 行 す る と 、 多 少 の 情 報 を 含 む 利 用 法 の メ ッ セ ー ジ が 表 示 さ れ る 。
バ グ
cron で は crontab の 各 エ ン ト リ の 末 尾 に 改 行 文 字 が あ る こ と が 必 要 に な る が 、 crontab コ マ ン ド も cron デ ー モ ン も 、 そ れ に 関 す る 間 違 い を 検 出 し な い 。 そ れ ど こ ろ か 、 crontab は 通 常 ど お り ロ ー ド す る よ う に 見 え る 。 し か し 、 改 行 文 字 で 終 わ っ て い な い コ マ ン ド は 絶 対 に 実 行 さ れ な い 。 間 違 い を 防 ぐ た め に は 、 crontab の 末 尾 に 必 ず 空 行 を 入 れ る よ う に す る の が 一 番 よ い 。
著 者
Paul Vixie <paul [AT] vix.com>