1999-08-28 01:08:13 +00:00
|
|
|
.\" $FreeBSD$
|
2002-01-13 20:21:08 +00:00
|
|
|
.Dd January 13, 2002
|
1995-04-12 02:42:39 +00:00
|
|
|
.Dt "AT" 1
|
2001-07-10 14:16:33 +00:00
|
|
|
.Os
|
1995-04-12 02:42:39 +00:00
|
|
|
.Sh NAME
|
2000-03-24 00:30:30 +00:00
|
|
|
.Nm at ,
|
|
|
|
.Nm batch ,
|
|
|
|
.Nm atq ,
|
|
|
|
.Nm atrm
|
1995-04-12 02:42:39 +00:00
|
|
|
.Nd queue, examine or delete jobs for later execution
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm at
|
|
|
|
.Op Fl q Ar queue
|
|
|
|
.Op Fl f Ar file
|
|
|
|
.Op Fl mldbv
|
|
|
|
.Ar time
|
1995-08-21 12:34:18 +00:00
|
|
|
.Nm at
|
2002-01-13 20:21:08 +00:00
|
|
|
.Op Fl q Ar queue
|
|
|
|
.Op Fl f Ar file
|
|
|
|
.Op Fl mldbv
|
2002-03-15 15:26:57 +00:00
|
|
|
.Fl t
|
|
|
|
.Sm off
|
|
|
|
.Op Oo Ar CC Oc Ar YY
|
|
|
|
.Ar MM DD hh mm Op . Ar SS
|
|
|
|
.Sm on
|
2002-01-13 20:21:08 +00:00
|
|
|
.Nm at
|
1995-08-21 12:34:18 +00:00
|
|
|
.Fl c Ar job Op Ar job ...
|
2002-01-13 20:21:08 +00:00
|
|
|
.Nm at
|
2002-05-16 00:47:14 +00:00
|
|
|
.Fl l Op Ar job ...
|
|
|
|
.Nm at
|
|
|
|
.Fl l
|
|
|
|
.Fl q Ar queue
|
|
|
|
.Nm at
|
2002-01-13 20:21:08 +00:00
|
|
|
.Fl r Ar job Op Ar job ...
|
1995-08-21 12:34:18 +00:00
|
|
|
.Pp
|
1995-04-12 02:42:39 +00:00
|
|
|
.Nm atq
|
|
|
|
.Op Fl q Ar queue
|
|
|
|
.Op Fl v
|
|
|
|
.Pp
|
|
|
|
.Nm atrm
|
|
|
|
.Ar job
|
|
|
|
.Op Ar job ...
|
|
|
|
.Pp
|
|
|
|
.Nm batch
|
|
|
|
.Op Fl q Ar queue
|
|
|
|
.Op Fl f Ar file
|
|
|
|
.Op Fl mv
|
|
|
|
.Op Ar time
|
|
|
|
.Sh DESCRIPTION
|
2003-02-28 21:04:17 +00:00
|
|
|
The
|
|
|
|
.Nm at
|
1995-04-12 02:42:39 +00:00
|
|
|
and
|
|
|
|
.Nm batch
|
2003-02-28 21:04:17 +00:00
|
|
|
utilities
|
1995-04-12 02:42:39 +00:00
|
|
|
read commands from standard input or a specified file which are to
|
|
|
|
be executed at a later time, using
|
|
|
|
.Xr sh 1 .
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Nm at
|
|
|
|
executes commands at a specified time;
|
|
|
|
.It Nm atq
|
|
|
|
lists the user's pending jobs, unless the user is the superuser; in that
|
|
|
|
case, everybody's jobs are listed;
|
|
|
|
.It Nm atrm
|
|
|
|
deletes jobs;
|
|
|
|
.It Nm batch
|
|
|
|
executes commands when system load levels permit; in other words, when the load average
|
|
|
|
drops below _LOADAVG_MX, or the value specified in the invocation of
|
|
|
|
.Nm atrun .
|
|
|
|
.El
|
|
|
|
.Pp
|
2003-02-28 21:04:17 +00:00
|
|
|
The
|
|
|
|
.Nm at
|
|
|
|
utility allows some moderately complex
|
1995-04-12 02:42:39 +00:00
|
|
|
.Ar time
|
2001-11-20 15:43:25 +00:00
|
|
|
specifications.
|
|
|
|
It accepts times of the form
|
1995-04-12 02:42:39 +00:00
|
|
|
.Ar HHMM
|
|
|
|
or
|
|
|
|
.Ar HH:MM
|
|
|
|
to run a job at a specific time of day.
|
|
|
|
(If that time is already past, the next day is assumed.)
|
2002-01-22 03:04:15 +00:00
|
|
|
As an alternative, the following keywords may be specified:
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em midnight ,
|
|
|
|
.Em noon ,
|
1995-04-12 02:42:39 +00:00
|
|
|
or
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em teatime
|
1995-04-12 02:42:39 +00:00
|
|
|
(4pm)
|
2002-01-22 03:04:15 +00:00
|
|
|
and time-of-day may be suffixed with
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em AM
|
1995-04-12 02:42:39 +00:00
|
|
|
or
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em PM
|
1995-04-12 02:42:39 +00:00
|
|
|
for running in the morning or the evening.
|
2002-01-22 03:04:15 +00:00
|
|
|
The day on which the job is to be run may also be specified
|
1995-04-12 02:42:39 +00:00
|
|
|
by giving a date in the form
|
|
|
|
.Ar \%month-name day
|
|
|
|
with an optional
|
|
|
|
.Ar year ,
|
2002-01-10 08:21:31 +00:00
|
|
|
or giving a date of the forms
|
|
|
|
.Ar DD.MM.YYYY ,
|
|
|
|
.Ar DD.MM.YY ,
|
|
|
|
.Ar MM/DD/YYYY ,
|
|
|
|
.Ar MM/DD/YY ,
|
|
|
|
.Ar MMDDYYYY , or
|
|
|
|
.Ar MMDDYY .
|
1995-06-24 17:15:56 +00:00
|
|
|
The specification of a date must follow the specification of
|
|
|
|
the time of day.
|
2002-01-22 03:04:15 +00:00
|
|
|
Time can also be specified as:
|
1999-12-05 19:57:14 +00:00
|
|
|
.Op Em now
|
|
|
|
.Em + Ar count \%time-units ,
|
1995-04-12 02:42:39 +00:00
|
|
|
where the time-units can be
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em minutes ,
|
|
|
|
.Em hours ,
|
|
|
|
.Em days ,
|
|
|
|
.Em weeks ,
|
|
|
|
.Em months
|
1995-04-12 02:42:39 +00:00
|
|
|
or
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em years
|
2002-01-22 03:04:15 +00:00
|
|
|
and
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm
|
2002-01-22 03:04:15 +00:00
|
|
|
may be told to run the job today by suffixing the time with
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em today
|
1995-04-12 02:42:39 +00:00
|
|
|
and to run the job tomorrow by suffixing the time with
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em tomorrow .
|
1995-04-12 02:42:39 +00:00
|
|
|
.Pp
|
2002-01-22 03:04:15 +00:00
|
|
|
For example, to run a job at 4pm three days from now, use
|
2001-02-01 16:38:02 +00:00
|
|
|
.Nm at Ar 4pm + 3 days ,
|
2002-01-22 03:04:15 +00:00
|
|
|
to run a job at 10:00am on July 31, use
|
2001-02-01 16:38:02 +00:00
|
|
|
.Nm at Ar 10am Jul 31
|
2002-01-22 03:04:15 +00:00
|
|
|
and to run a job at 1am tomorrow, use
|
2001-02-01 16:38:02 +00:00
|
|
|
.Nm at Ar 1am tomorrow .
|
1995-04-12 02:42:39 +00:00
|
|
|
.Pp
|
2002-01-13 20:21:08 +00:00
|
|
|
The
|
|
|
|
.Nm at
|
2002-11-26 17:55:41 +00:00
|
|
|
utility also supports the
|
|
|
|
.Tn POSIX
|
|
|
|
time format (see
|
2002-01-13 20:21:08 +00:00
|
|
|
.Fl t
|
|
|
|
option).
|
|
|
|
.Pp
|
1995-04-12 02:42:39 +00:00
|
|
|
For both
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm
|
1995-04-12 02:42:39 +00:00
|
|
|
and
|
|
|
|
.Nm batch ,
|
|
|
|
commands are read from standard input or the file specified
|
|
|
|
with the
|
|
|
|
.Fl f
|
|
|
|
option and executed.
|
|
|
|
The working directory, the environment (except for the variables
|
1999-12-05 19:57:14 +00:00
|
|
|
.Ev TERM ,
|
|
|
|
.Ev TERMCAP ,
|
|
|
|
.Ev DISPLAY
|
1995-04-12 02:42:39 +00:00
|
|
|
and
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em _ )
|
1995-04-12 02:42:39 +00:00
|
|
|
and the
|
|
|
|
.Ar umask
|
|
|
|
are retained from the time of invocation.
|
|
|
|
An
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm
|
1995-04-12 02:42:39 +00:00
|
|
|
or
|
|
|
|
.Nm batch
|
2001-11-20 15:43:25 +00:00
|
|
|
command invoked from a
|
1995-04-12 02:42:39 +00:00
|
|
|
.Xr su 1
|
|
|
|
shell will retain the current userid.
|
|
|
|
The user will be mailed standard error and standard output from his
|
2001-11-20 15:43:25 +00:00
|
|
|
commands, if any.
|
|
|
|
Mail will be sent using the command
|
1995-04-12 02:42:39 +00:00
|
|
|
.Xr sendmail 8 .
|
|
|
|
If
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm
|
2001-11-20 15:43:25 +00:00
|
|
|
is executed from a
|
1995-04-12 02:42:39 +00:00
|
|
|
.Xr su 1
|
|
|
|
shell, the owner of the login shell will receive the mail.
|
|
|
|
.Pp
|
|
|
|
The superuser may use these commands in any case.
|
2001-11-19 08:12:17 +00:00
|
|
|
For other users, permission to use
|
|
|
|
.Nm
|
|
|
|
is determined by the files
|
1995-04-12 02:42:39 +00:00
|
|
|
.Pa _PERM_PATH/at.allow
|
|
|
|
and
|
|
|
|
.Pa _PERM_PATH/at.deny .
|
|
|
|
.Pp
|
|
|
|
If the file
|
|
|
|
.Pa _PERM_PATH/at.allow
|
|
|
|
exists, only usernames mentioned in it are allowed to use
|
2001-02-01 16:38:02 +00:00
|
|
|
.Nm .
|
2003-03-26 02:38:18 +00:00
|
|
|
In these two files, a user is considered to be listed only if the user
|
|
|
|
name has no blank or other characters before it on its line and a
|
|
|
|
newline character immediately after the name, even at the end of
|
|
|
|
the file.
|
|
|
|
Other lines are ignored and may be used for comments.
|
1995-04-12 02:42:39 +00:00
|
|
|
.Pp
|
|
|
|
If
|
|
|
|
.Pa _PERM_PATH/at.allow
|
|
|
|
does not exist,
|
|
|
|
.Pa _PERM_PATH/at.deny
|
|
|
|
is checked, every username not mentioned in it is then allowed
|
|
|
|
to use
|
2002-08-13 16:07:28 +00:00
|
|
|
.Nm .
|
1995-04-12 02:42:39 +00:00
|
|
|
.Pp
|
|
|
|
If neither exists, only the superuser is allowed use of
|
2002-08-13 16:07:28 +00:00
|
|
|
.Nm .
|
1995-10-05 06:18:48 +00:00
|
|
|
This is the default configuration.
|
2002-05-04 15:33:12 +00:00
|
|
|
.Sh IMPLEMENTATION NOTES
|
|
|
|
Note that
|
|
|
|
.Nm
|
|
|
|
is implemented through the
|
|
|
|
.Xr cron 8
|
|
|
|
daemon by calling
|
|
|
|
.Xr atrun 8
|
|
|
|
every five minutes.
|
|
|
|
This implies that the granularity of
|
|
|
|
.Nm
|
|
|
|
might not be optimal for every deployment.
|
2002-05-29 18:00:23 +00:00
|
|
|
If a finer granularity is needed, the system crontab at
|
2002-05-04 15:33:12 +00:00
|
|
|
.Pa /etc/crontab
|
|
|
|
needs to be changed.
|
1995-04-12 02:42:39 +00:00
|
|
|
.Sh OPTIONS
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Fl q Ar queue
|
1999-12-05 19:57:14 +00:00
|
|
|
Use the specified queue.
|
1995-04-12 02:42:39 +00:00
|
|
|
A queue designation consists of a single letter; valid queue designations
|
|
|
|
range from
|
1999-12-05 19:57:14 +00:00
|
|
|
.Ar a
|
2001-11-20 15:43:25 +00:00
|
|
|
to
|
2000-03-26 14:29:45 +00:00
|
|
|
.Ar z
|
1995-04-12 02:42:39 +00:00
|
|
|
and
|
1999-12-05 19:57:14 +00:00
|
|
|
.Ar A
|
1995-04-12 02:42:39 +00:00
|
|
|
to
|
1999-12-05 19:57:14 +00:00
|
|
|
.Ar Z .
|
1995-04-12 02:42:39 +00:00
|
|
|
The
|
1999-12-05 19:57:14 +00:00
|
|
|
.Ar _DEFAULT_AT_QUEUE
|
1995-04-12 02:42:39 +00:00
|
|
|
queue is the default for
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm
|
1995-04-12 02:42:39 +00:00
|
|
|
and the
|
1999-12-05 19:57:14 +00:00
|
|
|
.Ar _DEFAULT_BATCH_QUEUE
|
1995-04-12 02:42:39 +00:00
|
|
|
queue for
|
|
|
|
.Nm batch .
|
|
|
|
Queues with higher letters run with increased niceness.
|
|
|
|
If a job is submitted to a queue designated with an uppercase letter, it
|
|
|
|
is treated as if it had been submitted to batch at that time.
|
|
|
|
If
|
|
|
|
.Nm atq
|
|
|
|
is given a specific queue, it will only show jobs pending in that queue.
|
|
|
|
.It Fl m
|
|
|
|
Send mail to the user when the job has completed even if there was no
|
|
|
|
output.
|
|
|
|
.It Fl f Ar file
|
1999-12-05 19:57:14 +00:00
|
|
|
Read the job from
|
1995-04-12 02:42:39 +00:00
|
|
|
.Ar file
|
|
|
|
rather than standard input.
|
|
|
|
.It Fl l
|
2002-05-29 18:00:23 +00:00
|
|
|
With no arguments, list all jobs for the invoking user.
|
|
|
|
If one or more
|
2002-05-16 00:47:14 +00:00
|
|
|
job numbers are given, list only those jobs.
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Fl d
|
|
|
|
Is an alias for
|
2002-03-15 15:26:57 +00:00
|
|
|
.Nm atrm
|
|
|
|
(this option is deprecated; use
|
2002-01-13 20:21:08 +00:00
|
|
|
.Fl r
|
|
|
|
instead).
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Fl b
|
|
|
|
Is an alias for
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm batch .
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Fl v
|
|
|
|
For
|
|
|
|
.Nm atq ,
|
|
|
|
shows completed but not yet deleted jobs in the queue; otherwise
|
|
|
|
shows the time the job will be executed.
|
1995-08-21 12:34:18 +00:00
|
|
|
.It Fl c
|
1999-12-05 19:57:14 +00:00
|
|
|
Cat the jobs listed on the command line to standard output.
|
2002-01-13 20:21:08 +00:00
|
|
|
.It Fl r
|
2002-03-15 15:26:57 +00:00
|
|
|
Remove the specified jobs.
|
2002-01-13 20:21:08 +00:00
|
|
|
.It Fl t
|
2002-03-15 15:26:57 +00:00
|
|
|
Specify the job time using the \*[Px] time format.
|
2002-01-13 20:21:08 +00:00
|
|
|
The argument should be in the form
|
2002-03-15 15:26:57 +00:00
|
|
|
.Sm off
|
|
|
|
.Op Oo Ar CC Oc Ar YY
|
|
|
|
.Ar MM DD hh mm Op . Ar SS
|
|
|
|
.Sm on
|
2002-01-13 20:21:08 +00:00
|
|
|
where each pair of letters represents the following:
|
|
|
|
.Pp
|
2002-03-15 15:26:57 +00:00
|
|
|
.Bl -tag -width indent -compact -offset indent
|
2002-01-13 20:21:08 +00:00
|
|
|
.It Ar CC
|
|
|
|
The first two digits of the year (the century).
|
|
|
|
.It Ar YY
|
|
|
|
The second two digits of the year.
|
|
|
|
.It Ar MM
|
|
|
|
The month of the year, from 1 to 12.
|
|
|
|
.It Ar DD
|
|
|
|
the day of the month, from 1 to 31.
|
|
|
|
.It Ar hh
|
|
|
|
The hour of the day, from 0 to 23.
|
|
|
|
.It Ar mm
|
|
|
|
The minute of the hour, from 0 to 59.
|
|
|
|
.It Ar SS
|
|
|
|
The second of the minute, from 0 to 61.
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
If the
|
2002-03-15 15:26:57 +00:00
|
|
|
.Ar CC
|
2002-01-13 20:21:08 +00:00
|
|
|
and
|
2002-03-15 15:26:57 +00:00
|
|
|
.Ar YY
|
2002-01-13 20:21:08 +00:00
|
|
|
letter pairs are not specified, the values default to the current
|
|
|
|
year.
|
|
|
|
If the
|
2002-03-15 15:26:57 +00:00
|
|
|
.Ar SS
|
2002-01-13 20:21:08 +00:00
|
|
|
letter pair is not specified, the value defaults to 0.
|
2000-12-19 16:00:12 +00:00
|
|
|
.El
|
1995-04-12 02:42:39 +00:00
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width _ATJOB_DIR/_LOCKFILE -compact
|
|
|
|
.It Pa _ATJOB_DIR
|
1999-12-05 19:57:14 +00:00
|
|
|
directory containing job files
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Pa _ATSPOOL_DIR
|
1999-12-05 19:57:14 +00:00
|
|
|
directory containing output spool files
|
2010-01-21 17:25:12 +00:00
|
|
|
.It Pa /var/run/utx.active
|
1999-12-05 19:57:14 +00:00
|
|
|
login records
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Pa _PERM_PATH/at.allow
|
1999-12-05 19:57:14 +00:00
|
|
|
allow permission control
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Pa _PERM_PATH/at.deny
|
1999-12-05 19:57:14 +00:00
|
|
|
deny permission control
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Pa _ATJOB_DIR/_LOCKFILE
|
1999-12-05 19:57:14 +00:00
|
|
|
job-creation lock file
|
1999-08-15 08:25:34 +00:00
|
|
|
.El
|
1995-04-12 02:42:39 +00:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr nice 1 ,
|
|
|
|
.Xr sh 1 ,
|
1999-08-15 08:25:34 +00:00
|
|
|
.Xr umask 2 ,
|
|
|
|
.Xr atrun 8 ,
|
|
|
|
.Xr cron 8 ,
|
|
|
|
.Xr sendmail 8
|
2005-01-18 13:43:56 +00:00
|
|
|
.Sh AUTHORS
|
2014-06-23 08:23:05 +00:00
|
|
|
.An -nosplit
|
2005-01-18 13:43:56 +00:00
|
|
|
At was mostly written by
|
2014-06-23 08:23:05 +00:00
|
|
|
.An Thomas Koenig Aq Mt ig25@rz.uni-karlsruhe.de .
|
2005-01-18 13:43:56 +00:00
|
|
|
The time parsing routines are by
|
2014-06-23 08:23:05 +00:00
|
|
|
.An David Parsons Aq Mt orc@pell.chi.il.us ,
|
2005-01-18 13:43:56 +00:00
|
|
|
with minor enhancements by
|
2014-06-23 08:23:05 +00:00
|
|
|
.An Joe Halpin Aq Mt joe.halpin@attbi.com .
|
1995-04-12 02:42:39 +00:00
|
|
|
.Sh BUGS
|
|
|
|
If the file
|
2010-01-21 17:25:12 +00:00
|
|
|
.Pa /var/run/utx.active
|
1995-04-12 02:42:39 +00:00
|
|
|
is not available or corrupted, or if the user is not logged on at the
|
2001-11-20 15:43:25 +00:00
|
|
|
time
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm
|
1995-04-12 02:42:39 +00:00
|
|
|
is invoked, the mail is sent to the userid found
|
|
|
|
in the environment variable
|
1999-12-05 19:57:14 +00:00
|
|
|
.Ev LOGNAME .
|
1995-04-12 02:42:39 +00:00
|
|
|
If that is undefined or empty, the current userid is assumed.
|
|
|
|
.Pp
|
2003-02-28 21:04:17 +00:00
|
|
|
The
|
|
|
|
.Nm at
|
1995-04-12 02:42:39 +00:00
|
|
|
and
|
|
|
|
.Nm batch
|
2003-02-28 21:04:17 +00:00
|
|
|
utilities
|
1995-04-12 02:42:39 +00:00
|
|
|
as presently implemented are not suitable when users are competing for
|
|
|
|
resources.
|
2002-01-22 03:04:15 +00:00
|
|
|
If this is the case, another batch system such as
|
2002-03-15 15:26:57 +00:00
|
|
|
.Em nqs
|
2002-01-22 03:04:15 +00:00
|
|
|
may be more suitable.
|
2002-01-13 20:21:08 +00:00
|
|
|
.Pp
|
2002-01-17 07:48:12 +00:00
|
|
|
Specifying a date past 2038 may not work on some systems.
|