File: crontab.5.patch

package info (click to toggle)
manpages-ja 0.5.0.0.20161015%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 28,488 kB
  • ctags: 7
  • sloc: perl: 161; makefile: 99
file content (183 lines) | stat: -rw-r--r-- 8,478 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
From cc62991ba094ff553b24a7284b3eee8eab1c9f4d Mon Sep 17 00:00:00 2001
From: Nobuhiro Iwamatsu <iwamatsu@debian.org>
Date: Mon, 8 Jul 2013 07:56:56 +0900
Subject: [PATCH 2/9] Update crontab.5 for debian

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@debian.org>
---
 manual/cron/man5/crontab.5 |  108 +++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 97 insertions(+), 11 deletions(-)

diff --git a/manual/cron/man5/crontab.5 b/manual/cron/man5/crontab.5
index 03391d6..71932d1 100644
--- a/manual/cron/man5/crontab.5
+++ b/manual/cron/man5/crontab.5
@@ -67,14 +67,23 @@ crontab の動作行は、
 文字列は引用符で括ってもよい (シングルクォートでもダブルクォートでも良いが、
 揃っている必要がある)。
 こうすれば先頭や末尾の空白を値に渡すことができる。
+.I value
+の文字列は、環境変数の置換のためにパースされることは
+.B ない
+。したがって、
+.PP
+    PATH = $HOME/bin:$PATH
+.PP
+のような行は期待どおりの動作をしないだろう。
 .PP
 いくつかの環境変数は
 .IR cron (8)
 デーモンによって自動的に設定される。
 SHELL は /bin/sh に設定され、
 LOGNAME とHOME は /etc/passwd の crontab の所有者の行から設定される。
-HOME と SHELL は crontab 内部の記述で変更できる。
-LOGNAME は変更できない。
+PATH は "/usr/bin:/bin" に設定される。
+HOME と SHELL、PATH は crontab 内部の記述で変更できる。
+LOGNAME はジョブを実行しているユーザなので変更できない。
 .PP
 (さらに注意:LOGNAME 変数は、 BSD システムではまれに USER と称される...
 これらのシステム上では USER も設定される。)
@@ -87,16 +96,43 @@ MAILTO も参照する。
 MAILTO が定義されていても値が設定されていなければ (MAILTO="")、
 メールは送信されない。
 MAILTO が定義もされていなければ、メールは crontab の所有者に送られる。
-cron をインストールする際に、メーラーを /usr/lib/sendmail ではなく
-/bin/mail にしていると、このオプションは便利である。
-/bin/mailはエイリアシングを行わないし、
-UUCP はたいていこのメールを読まないからである。
+.PP
+Debian GNU/Linux システムでは、cron は
+.B pam_env
+モジュールをサポートしており、
+.IR /etc/security/pam_env.conf
+で指定された環境変数をロードする。
+しかし PAM の設定は、前述の設定や
+.I crontab
+ファイル自体に書かれた設定を上書きでき
+.B ない
+。特に、"/usr/bin:/bin" 以外の値を PATH に設定したい場合は、
+その設定を crontab ファイル内で行う必要があることに注意せよ。
+.PP
+デフォルトでは、cron が送るメールの "Content-Type:"
+ヘッダの値には "text/plain" が使用され、その "charset=" パラメータには
+.IR crond(8)
+を起動したロケールの文字マップやコードセットが設定される。
+つまり、使用されるロケールは、
+LC_* 環境変数が設定されていない場合はシステムのデフォルトのロケール、
+そうでなければ LC_* 環境変数で指定されたロケールとなる (
+.IR locale(7)
+を参照)。
+crontab ファイル内で、
+変数 CONTENT_TYPE または CONTENT_TRANSFER_ENCODING の値に、
+それらの名前をもつメールヘッダの値として適切な値を設定すれば、
+メールされる cron ジョブの出力に異なる文字エンコーディングを使用できる。
 .PP
 cron コマンドの形式は V7 標準そのものであるが、
 多くの上位互換な拡張がある。
 各行には 5 つの時刻・日付フィールドがあり、
-(システムの crontab ファイルの場合) ユーザー名が続き、
-さらにコマンドが続く。
+さらにコマンドと改行文字 ('\\n') が続く。
+システムの crontab ファイル (/etc/crontab)
+は同様のフォーマットを使用するが、
+時刻・日付フィールドとコマンドの間で、
+コマンドを実行するユーザ名を指定する。
+フィールドはスペース区切りでもタブ区切りでもかまわない。
+.PP
 分・時・月が現在時刻と一致し、
 \fIかつ\fR、 2 つの日フィールド (月内日または曜日)
 のいずれかが現在時刻と一致すれば (以下の「注意」を参照)、
@@ -154,6 +190,8 @@ cron コマンドの形式は V7 標準そのものであるが、
 バックスラッシュ (\\) によってエスケープされずに置かれていると、
 改行文字に置き換えられ、最初に現れた % 以降の全てのデータは
 標準入力としてコマンドに送られる。
+シェルの行末の "\\" のような、
+コマンドの単一の行を複数行に分割して記述する方法は、crontab にはない。
 .PP
 注意: コマンド実行の日は 2 つのフィールドで指定できる \(em
 月内日および曜日である。
@@ -165,11 +203,36 @@ cron コマンドの形式は V7 標準そのものであるが、
 .br
 とすると、毎月 1 日と 15 日および毎週金曜日の
 午前 4:30 にコマンドが実行される。
+.PP
+最初の 5 つのフィールドの代わりに、
+8 つの特殊な文字列のいずれか 1 つを指定してもかまわない:
+.IP
+.ta 1.5i
+文字列	意味
+.br
+------	----
+.br
+@reboot	起動時に一度だけ実行。
+.br
+@yearly	年に一度だけ実行 ("0 0 1 1 *" と等価)。
+.br
+@annually	(@yearly と同様)
+.br
+@monthly	月に一度だけ実行 ("0 0 1 * *" と等価)。
+.br
+@weekly	週に一度だけ実行 ("0 0 * * 0" と等価)。
+.br
+@daily	一日に一度だけ実行 ("0 0 * * *" と等価)。
+.br
+@midnight	(@daily と同様)
+.br
+@hourly	一時間に一度だけ実行 ("0 * * * *" と等価)。
+.br
 .SH CRON ファイルの例
 .nf
 
-# (/etc/passwd の指定に関らず) コマンド実行に /bin/sh を使用する。
-SHELL=/bin/sh
+# コマンドの実行に、デフォルトの /bin/sh ではなく /bin/bash を使用する。
+SHELL=/bin/bash
 # (この crontab の所有者に関らず) あらゆる出力を `paul' にメールする。
 MAILTO=paul
 #
@@ -178,10 +241,31 @@ MAILTO=paul
 # 毎月初日の 2:15pm に実行する -- 出力は paul にメールされる
 15 14 1 * *     $HOME/bin/monthly
 # 平日の午後 10 時に実行してジョーを心配させる
-0 22 * * 1-5 mail -s "午後10時だ" joe%ジョー、%%お前の子どもはどこだい?%
+0 22 * * 1-5    mail -s "午後10時だ" joe%ジョー、%%お前の子どもはどこだい?%
 23 0-23/2 * * * echo "毎日 0,2,4..時 23 分に実行する"
 5 4 * * sun     echo "日曜 4 時 5 分に実行する"
 .fi
+.SH システム CRON ファイルの例
+システム CRON ファイルはユーザ名のフィールドを含み、
+/etc/crontab によって使用される。
+.nf
+# /etc/crontab: システム規模の crontab
+# 他の crontab ファイルとは異なり、このファイルを編集する際には、新し
+# いバージョンをインストールするための `crontab' コマンドを実行する必
+# 要はない。またこのファイルには、他の crontab ファイルのいずれにも含
+# まれないユーザ名のフィールドが含まれる。
+
+SHELL=/bin/sh
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+# m h dom mon dow user    command
+42 6 * * *        root    run-parts --report /etc/cron.daily
+47 6 * * 7        root    run-parts --report /etc/cron.weekly
+52 6 1 * *        root    run-parts --report /etc/cron.monthly
+#
+# anacron の呼び出しは /etc/cron.d ファイルによって行われるようになっ
+# たので、削除された。
+.fi
 .SH 関連項目
 cron(8), crontab(1)
 .SH 拡張
@@ -203,6 +287,8 @@ BSD や ATT では、子プロセスに渡される環境は基本的に /etc/rc
 また crontab の所有者以外の人にもメールできる (SysV ではこれができない)。
 さらにこの機能を無効にし、
 誰にもメールを送らないようにもできる (SysV ではこれもできない)。
+.PP
+最初の 5 つのフィールドの代わりに指定できる `@' コマンドは全て拡張である。
 .SH 著者
 .nf
 Paul Vixie <paul@vix.com>
-- 
1.7.10.4