Import ezmlm-idx 0.40
[ezmlm] / ezmlm-cron.1
1 .TH ezmlm-cron 1
2 .SH NAME
3 ezmlm-cron \- Sets up digest request messages generation via crond
4 .SH SYNOPSIS
5 .B ezmlm-cron
6 [
7 .B \-cCdDlL
8 ][
9 .B \-w \fIdow
10 ][
11 .B \-t \fIhh:mm
12 ][
13 .B \-i \fIhrs
14 ]
15 .I listadr code[f]
16 .SH DESCRIPTION
17 .B ezmlm-cron
18 is a very restrictive interface to
19 .BR crond(8) .
20 It edits the effective user's ~/crontab (see crontab(5))
21 file. It then executes
22 .B crontab(1)
23 to update crond(8) with the changes.
24
25 .B ezmlm-cron
26 sets up the generation of trigger messages to the list
27 .I listadr
28 and the digest code
29 .IR code .
30 A optional digest format specifier
31 .I f
32 can be added to
33 .IR code .
34
35 .B ezmlm-cron
36 reads
37 .IR dir\fB/ezcronrc ,
38 where
39 .I dir
40 is the home directory of the effective user. The first line of this file is the
41 host name, 'host', to which bounces should be sent. Any bounces for lists
42 set up by 'user' will go to 'user@host'. Subsequent lines are entries
43 for users made up of:
44 .IR user:local:host:num:[list1[,list2...]] .
45 The ':'-separated parameters are:
46 .TP
47 .I user
48 the user name to which this line corresponds.
49 .TP
50 .I local
51 the list address must start with exactly these characters (case sensitive).
52 If this field is empty, any list local address is allowed.
53 .TP
54 .I host
55 the list host name must exactly match this parameter (case insensitive).
56 If this field is empty, any list host address is allowed. (Host names for
57 the list and the digest list must still match.)
58 .TP
59 .I num
60 the user is permitted a maximum of
61 .I num
62 entries.
63 .TP
64 .I list1 [,list2...]
65 a set of complete list names separated by commas. The user may edit
66 entries for these lists, even if they do not match the criteria set
67 above. If these lists exist, they are counted in determining
68 .IR num .
69 No while space is allowed before or between list names. If no list names
70 are specified, the final ':' can be omitted.
71
72 The first line matching the executing user will be used.
73
74 If
75 .B ezmlm-cron
76 is installed SUID
77 .IR euser ,
78 the configuration and crontab files from that user's home directory
79 will be used for all
80 .B ezmlm-cron
81 actions. This way, users on a system can be given limited
82 .B crond(8)
83 access via
84 .B ezmlm-cron
85 restricted by
86 .I dir\fB/ezcronrc
87 and to the generation of digest trigger messages. This is especially
88 useful for users without shell access or access to
89 .BR crond(8) .
90 .I euser
91 is usually 'ezmlm'.
92 To install
93 .B ezmlm-cron
94 SUID ezmlm:
95
96 .EX
97 # chown ezmlm /usr/local/bin/ezmlm/ezmlm-cron
98 # chmod 4555 /usr/local/bin/ezmlm/ezmlm-cron
99 .EE
100
101 .B ezmlm-cron
102 refuses to run if installed SUID root.
103 .B ezmlm-cron
104 when executed by 'root',
105 will still use the files in ~root.
106
107 To allow
108 .B crond(8)
109 access, you may need to list the effective user (all users allowed access
110 or ~ezmlm if
111 .B ezmlm-cron
112 is installed SUID ezmlm) in
113 .BR /etc/cron.allow .
114 See
115 .B crontab(1)
116 for further information.
117 .SH OPTIONS
118 The
119 .BR \-c ,
120 .BR \-d ,
121 and
122 .B \-l
123 switches are mutually exclusive.
124
125 .TP
126 .B \-c
127 List user entry from
128 .IR ezcronrc .
129 .TP
130 .B \-C
131 (Default.)
132 Do not list user entry.
133 .TP
134 .B \-d
135 Delete entry.
136 .B ezmlm-cron
137 will search
138 .I ~euser\fB/crontab
139 for an entry belonging to the executing user, permitted by
140 .I ~euser\fB/ezcronrc
141 and matching the command line arguments supplied.
142 .I code
143 is ignored and may be omitted.
144 .TP
145 .B \-D
146 (Default.)
147 Do not delete entry.
148 .TP
149 .B \-i\fI hrs
150 Generate trigger message with
151 .I hrs
152 hours interval. Accepted intervals are 0, 1 ,2, 3, 6, 12, 24, 48, and 72 hours.
153 Other numbers will be silently adjusted upwards to the nearest accepted
154 interval
155 (intervals above 72 hours will result in weekly trigger messages).
156 .TP
157 .B \-l
158 List entries. If no other command line arguments are given,
159 .B ezmlm-cron
160 lists the entries created in the name of the user. If
161 .I listadr
162 is given,
163 .B ezmlm-cron
164 will list the entries for all the matching lists, even if the entries
165 were not set up by the current user. Arguments, if given, still have to
166 comply with the rules set in
167 .IR ezcronrc .
168
169 Crude
170 .B crontab(5)
171 lines are listed. These are taken from the ~/crontab file. Usually,
172 these are active entries, although if the last execution of
173 .B crontab(1)
174 failed, they may not be.
175 .TP
176 .B \-L
177 (Default.)
178 Do not list entry.
179 .TP
180 .B \-t\fI hh:mm
181 The time for the trigger message. Other trigger messages will be sent
182 .I hrs
183 hours before and after this time.
184 .TP
185 .B \-w\fI dow
186 The days of the week on which trigger messages are sent. day 0 and 7 are
187 Sunday, 1 is Monday, etc (see crontab(5)). The string specified for
188 .I dow
189 must consists of single comma-separated digits in the range '0'-'7'
190 only. The default is every day, except for
191 .I hrs
192 of 48 (default Monday, Wednesday, Friday), 72 (default Monday and Thursday),
193 or greater than 72 (default Monday).
194 Both
195 .I hrs
196 and
197 .I dow
198 can be specified. In this case, trigger messages are sent
199 on the day specified by
200 .I dow
201 at the interval
202 specified by
203 .IR hrs .
204 If
205 .I hrs
206 is greater than 24 h, it is ignored and
207 trigger messages are generated daily or as specified by
208 .IR dow .
209 .SH FILES
210 .TP
211 .I ~euser/ezcronrc
212 The configuration file for
213 .BR ezmlm-cron .
214 .I euser
215 is the effective user id. This is the executing user, unless
216 .B ezmlm-cron
217 is installed SUID
218 .IR otheruser ,
219 in which case it is
220 .IR otheruser .
221 .TP
222 .I ~euser/crontab
223 The file edited by
224 .BR ezmlm-cron .
225 .I euser
226 is the effective user.
227 .TP
228 .I ~euser/crontabl
229 The lock file used to assure that only one process at a time is editing the
230 .B crond(8)
231 settings.
232 .I euser
233 is the effective user.
234 .SH BUGS
235 .B ezmlm-cron
236 should use the output of 'crontab -l' to list crontab lines, rather than
237 parse the crontab file (and assume that the last execution of
238 .B crontab(1)
239 was successful).
240 .SH "SEE ALSO"
241 crond(8),
242 crontab(1),
243 crontab(5),
244 ezmlm(5),
245 ezmlm-get(1)