From b177d59889c352812995a575501461668e968bf1 Mon Sep 17 00:00:00 2001
From: Nobuhiro Iwamatsu <iwamatsu@debian.org>
Date: Mon, 8 Jul 2013 07:56:30 +0900
Subject: [PATCH 1/9] Update cron.8 for debian

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@debian.org>
---
 manual/cron/man8/cron.8 |   97 ++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 84 insertions(+), 13 deletions(-)

diff --git a/manual/cron/man8/cron.8 b/manual/cron/man8/cron.8
index 95863d8..ed6eb53 100644
--- a/manual/cron/man8/cron.8
+++ b/manual/cron/man8/cron.8
@@ -29,26 +29,76 @@
 cron \- 予定されたコマンドを実行するデーモン(Vixie Cron)
 .SH 書式
 cron
+.RB [ -f ]
 .SH 説明
 .I cron
-は /etc/rc または /etc/rc.local から起動されるべきである。
-すぐに(シェルに)戻るので、'&' を付けて起動する必要はない。
+は、マルチユーザのランレベルで入ると /etc/init.d から自動的に起動する。
+.
+.SH オプション
+.TP 8
+.B -f
+フォアグラウンドモードに留まり続け、デーモンにならない。
+.TP
+.B -l
+/etc/cron.d のファイルについて LSB 準拠の名前を有効にする。
+.SH 注記
 .PP
 .I cron
-は /etc/passwd にあるアカウントをファイル名に持つ crontab ファイルを
-/var/cron/tabs
-から探し、見つけた crontab ファイルをメモリに読み込む。
-また
+は、スプール領域 (/var/spool/cron/crontabs) に置かれた crontab
+ファイルを探す (これらのファイルには /etc/passwd
+内のアカウントを元にした名前がつけられている)。
+見つかった crontab ファイルはメモリにロードされる。
+このディレクトリの crontab
+ファイルは直接アクセスすべきではないことに注意せよ。
+ファイルのアクセスや更新には
+.I crontab
+を使用すべきである。
+
 .I cron
-は /etc/crontab も見る (このファイルのフォーマットは少々異なっている:
-.IR crontab (5)
+は /etc/crontab も読み込む。このファイルのフォーマットは少々異なっている (
+.IR crontab(5)
 を参照)。
+さらに
+.I cron
+は /etc/cron.d 内のファイルも読み込み、それらのファイルを /etc/crontab
+ファイルと同様に処理する (/etc/cron.d 内のファイルは /etc/crontab
+の特別なフォーマットに従う。つまりユーザ名のフィールドを含む)。
+しかし、/etc/cron.d 内のファイルは /etc/crontab とは独立している。
+つまり、例えば環境変数の設定を /etc/crontab から継承したりはしない。
+この機能の用途は、/etc/cron.{daily,weekly,monthly}
+ディレクトリよりも細かな予定の調節を必要とするパッケージが、
+/etc/cron.d に crontab ファイルを追加できるようにすることである。
+これらのファイルには、
+そのファイルを提供するパッケージを元にした名前をつけるべきである。
+また、ファイルの名前は、
+.IR run-parts(8)
+で使用される命名規則に準拠していなければならない。
+つまり、大文字・小文字・数字・アンダースコア・ハイフンのみから
+成っていなければならない。
+.B -l
+オプションが指定されている場合、ファイル名は、
+.IR run-parts
+の
+.B --lsbsysinit
+オプションの対象となる LSB の名前空間の仕様に準拠していなければならない。
+
+/etc/crontab と同様、
+/etc/cron.d ディレクトリ内のファイルも変更が監視される対象となる。
+管理者は一般に、/etc/cron.d/ ではなく、
+標準のシステムの crontab ファイル /etc/crontab を使用すべきである。
+
+その上で
 .I cron
-は 1 分ごとに起きて、読み込まれた crontab ファイルを評価し、
-それぞれのコマンドを今起動すべきかどうかチェックする。
-コマンドを実行すると、全ての出力を crontab ファイルの所有者にメールする
-(または MAILTO 環境変数が crontab ファイルにあれば、
-そこで指定されたユーザーに送る)。
+は 1 分ごとに起動し、
+保存された crontab ファイルをすべて調べ、
+各コマンドについて、その時刻に実行すべきかを調べて確認する。
+コマンド実行時に、出力はすべて crontab
+の所持者に (または、crontab ファイル内で MAILTO
+環境変数に名前を書かれたユーザがあればそのユーザに)
+メールで送信される。
+これらのプロセスを実行する cron の子コピーの名前には、
+syslog や ps の出力に見られるように、
+親の名前を強制的に大文字にしたものが使われる。
 .PP
 さらに
 .I cron
@@ -63,6 +113,27 @@ cron
 .IR crontab (1)
 コマンドは、crontab ファイルが変更されたかどうかにかかわらず、
 スプールディレクトリの最終修正時刻を更新することに注意せよ。
+.PP
+時計に対して 3 時間未満の変更が与えられたとき、
+例えばサマータイムが始まるときや終わるときについては、
+特別の配慮がなされる。
+時間が進められた場合、
+飛ばされた時間に実行されるはずだったジョブは変更後すぐに実行される。
+逆に、3 時間未満の時間が戻された場合、
+繰り返される時間に入ったジョブが再び実行されることはない。
+.PP
+この配慮の影響は、
+特定の時刻に実行されるジョブ (@hourly を用いて指定されていなく、
+「時」や「分」のフィールドに '*' がないジョブ) のみが受ける。
+ワイルドカードで指定されたジョブは、
+直ちに新しい時刻に基づいて実行される。
+.PP
+3 時間を超える時計の変更は時刻の修正と見なされ、
+直ちに新しい時刻が使用される。
+.PP
+.I cron
+は、syslog の 'cron' 機能にアクションの記録 (ログ) をとる。
+ロギングは、標準の syslogd(8) の機能を用いて調節してもかまわない。
 .SH 関連項目
 crontab(1), crontab(5)
 .SH 著者
-- 
1.7.10.4

