1 .\" $FreeBSD: src/usr.bin/at/at.man,v 1.34 2003/03/26 02:38:18 keramida Exp $
10 .Nd queue, examine or delete jobs for later execution
24 .Ar MM DD hh mm Op . Ar SS
27 .Fl c Ar job Op Ar job ...
34 .Fl r Ar job Op Ar job ...
55 read commands from standard input or a specified file which are to
56 be executed at a later time, using
58 .Bl -tag -width indent
60 executes commands at a specified time;
62 lists the user's pending jobs, unless the user is the superuser; in that
63 case, everybody's jobs are listed;
67 executes commands when system load levels permit; in other words, when the load average
68 drops below _LOADAVG_MX, or the value specified in the invocation of
74 utility allows some moderately complex
77 It accepts times of the form
81 to run a job at a specific time of day.
82 (If that time is already past, the next day is assumed.)
83 As an alternative, the following keywords may be specified:
89 and time-of-day may be suffixed with
93 for running in the morning or the evening.
94 The day on which the job is to be run may also be specified
95 by giving a date in the form
99 or giving a date of the forms
106 The specification of a date must follow the specification of
108 Time can also be specified as:
110 .Em + Ar count \%time-units ,
111 where the time-units can be
121 may be told to run the job today by suffixing the time with
123 and to run the job tomorrow by suffixing the time with
126 For example, to run a job at 4pm three days from now, use
127 .Nm at Ar 4pm + 3 days ,
128 to run a job at 10:00am on July 31, use
129 .Nm at Ar 10am Jul 31
130 and to run a job at 1am tomorrow, use
131 .Nm at Ar 1am tomorrow .
135 utility also supports the
145 commands are read from standard input or the file specified
149 The working directory, the environment (except for the variables
157 are retained from the time of invocation.
162 command invoked from a
164 shell will retain the current userid.
165 The user will be mailed standard error and standard output from his
167 Mail will be sent using the command
173 shell, the owner of the login shell will receive the mail.
175 The superuser may use these commands in any case.
176 For other users, permission to use
178 is determined by the files
179 .Pa _PERM_PATH/at.allow
181 .Pa _PERM_PATH/at.deny .
184 .Pa _PERM_PATH/at.allow
185 exists, only usernames mentioned in it are allowed to use
187 In these two files, a user is considered to be listed only if the user
188 name has no blank or other characters before it on its line and a
189 newline character immediately after the name, even at the end of
191 Other lines are ignored and may be used for comments.
194 .Pa _PERM_PATH/at.allow
196 .Pa _PERM_PATH/at.deny
197 is checked, every username not mentioned in it is then allowed
200 In these two files, a user is considered to be listed only if the user
201 name has no blank or other characters before it on its line and a
202 newline character immediately after the name, even at the end of
204 Other lines are ignored and may be used for comments.
206 If neither exists, only the superuser is allowed use of
208 This is the default configuration.
209 .Sh IMPLEMENTATION NOTES
212 is implemented through the
217 This implies that the granularity of
219 might not be optimal for every deployment.
220 If a finer granularity is needed, the system crontab at
224 .Bl -tag -width indent
226 Use the specified queue.
227 A queue designation consists of a single letter; valid queue designations
237 .Ar _DEFAULT_AT_QUEUE
238 queue is the default for
241 .Ar _DEFAULT_BATCH_QUEUE
244 Queues with higher letters run with increased niceness.
245 If a job is submitted to a queue designated with an uppercase letter, it
246 is treated as if it had been submitted to batch at that time.
249 is given a specific queue, it will only show jobs pending in that queue.
251 Send mail to the user when the job has completed even if there was no
256 rather than standard input.
258 With no arguments, list all jobs for the invoking user.
260 job numbers are given, list only those jobs.
264 (this option is deprecated; use
273 shows completed but not yet deleted jobs in the queue; otherwise
274 shows the time the job will be executed.
276 Cat the jobs listed on the command line to standard output.
278 Remove the specified jobs.
280 Specify the job time using the
283 The argument should be in the form
285 .Op Oo Ar CC Oc Ar YY
286 .Ar MM DD hh mm Op . Ar SS
288 where each pair of letters represents the following:
290 .Bl -tag -width indent -compact -offset indent
292 The first two digits of the year (the century).
294 The second two digits of the year.
296 The month of the year, from 1 to 12.
298 the day of the month, from 1 to 31.
300 The hour of the day, from 0 to 23.
302 The minute of the hour, from 0 to 59.
304 The second of the minute, from 0 to 61.
311 letter pairs are not specified, the values default to the current
315 letter pair is not specified, the value defaults to 0.
318 .Bl -tag -width _ATJOB_DIR/_LOCKFILE -compact
320 directory containing job files
322 directory containing output spool files
325 .It Pa _PERM_PATH/at.allow
326 allow permission control
327 .It Pa _PERM_PATH/at.deny
328 deny permission control
329 .It Pa _ATJOB_DIR/_LOCKFILE
330 job-creation lock file
344 utilities do not conform to
348 At was mostly written by
349 .An Thomas Koenig Aq Mt ig25@rz.uni-karlsruhe.de .
350 The time parsing routines are by
351 .An David Parsons Aq Mt orc@pell.chi.il.us ,
352 with minor enhancements by
353 .An Joe Halpin Aq Mt joe.halpin@attbi.com .
357 is not available or corrupted, or if the user is not logged on at the
360 is invoked, the mail is sent to the userid found
361 in the environment variable
363 If that is undefined or empty, the current userid is assumed.
370 as presently implemented are not suitable when users are competing for
372 If this is the case, another batch system such as
374 may be more suitable.
376 Specifying a date past 2038 may not work on some systems.