1999-08-28 01:08:13 +00:00
|
|
|
.\" $FreeBSD$
|
1995-04-12 02:42:39 +00:00
|
|
|
.Dd April 12, 1995
|
|
|
|
.Dt "AT" 1
|
2000-12-14 11:52:05 +00:00
|
|
|
.Os FreeBSD
|
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 V
|
|
|
|
.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
|
|
|
|
.Op Fl V
|
|
|
|
.Fl c Ar job Op Ar job ...
|
|
|
|
.Pp
|
1995-04-12 02:42:39 +00:00
|
|
|
.Nm atq
|
|
|
|
.Op Fl V
|
|
|
|
.Op Fl q Ar queue
|
|
|
|
.Op Fl v
|
|
|
|
.Pp
|
|
|
|
.Nm atrm
|
|
|
|
.Op Fl V
|
|
|
|
.Ar job
|
|
|
|
.Op Ar job ...
|
|
|
|
.Pp
|
|
|
|
.Nm batch
|
|
|
|
.Op Fl V
|
|
|
|
.Op Fl q Ar queue
|
|
|
|
.Op Fl f Ar file
|
|
|
|
.Op Fl mv
|
|
|
|
.Op Ar time
|
|
|
|
.Sh DESCRIPTION
|
2000-12-19 16:00:12 +00:00
|
|
|
.Nm \&At
|
1995-04-12 02:42:39 +00:00
|
|
|
and
|
|
|
|
.Nm batch
|
|
|
|
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
|
2000-12-19 16:00:12 +00:00
|
|
|
.Nm \&At
|
1995-04-12 02:42:39 +00:00
|
|
|
allows some moderately complex
|
|
|
|
.Ar time
|
|
|
|
specifications. It accepts times of the form
|
|
|
|
.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.)
|
|
|
|
You may also specify
|
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)
|
|
|
|
and you can have a time-of-day 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.
|
|
|
|
You can also say what day the job will be run,
|
|
|
|
by giving a date in the form
|
|
|
|
.Ar \%month-name day
|
|
|
|
with an optional
|
|
|
|
.Ar year ,
|
|
|
|
or giving a date of the form
|
|
|
|
.Ar MMDDYY
|
|
|
|
or
|
|
|
|
.Ar MM/DD/YY
|
|
|
|
or
|
|
|
|
.Ar DD.MM.YY .
|
1995-06-24 17:15:56 +00:00
|
|
|
The specification of a date must follow the specification of
|
|
|
|
the time of day.
|
1995-04-12 02:42:39 +00:00
|
|
|
You can also give times like
|
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
|
1995-04-12 02:42:39 +00:00
|
|
|
and you can tell
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm
|
1995-04-12 02:42:39 +00:00
|
|
|
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
|
|
|
|
For example, to run a job at 4pm three days from now, you would do
|
|
|
|
.Nm at 4pm + 3 days ,
|
|
|
|
to run a job at 10:00am on July 31, you would do
|
|
|
|
.Nm at 10am Jul 31
|
|
|
|
and to run a job at 1am tomorrow, you would do
|
|
|
|
.Nm at 1am tomorrow.
|
|
|
|
.Pp
|
|
|
|
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
|
|
|
|
command invoked from a
|
|
|
|
.Xr su 1
|
|
|
|
shell will retain the current userid.
|
|
|
|
The user will be mailed standard error and standard output from his
|
|
|
|
commands, if any. Mail will be sent using the command
|
|
|
|
.Xr sendmail 8 .
|
|
|
|
If
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm
|
1995-04-12 02:42:39 +00:00
|
|
|
is executed from a
|
|
|
|
.Xr su 1
|
|
|
|
shell, the owner of the login shell will receive the mail.
|
|
|
|
.Pp
|
|
|
|
The superuser may use these commands in any case.
|
|
|
|
For other users, permission to use at is determined by the files
|
|
|
|
.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
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm Ns .
|
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
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm Ns .
|
1995-04-12 02:42:39 +00:00
|
|
|
.Pp
|
|
|
|
If neither exists, only the superuser is allowed use of
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm Ns .
|
1995-10-05 06:18:48 +00:00
|
|
|
This is the default configuration.
|
1995-04-12 02:42:39 +00:00
|
|
|
.Pp
|
|
|
|
An empty
|
|
|
|
.Pa _PERM_PATH/at.deny
|
1995-10-05 06:18:48 +00:00
|
|
|
means that every user is allowed use these commands.
|
1995-04-12 02:42:39 +00:00
|
|
|
.Sh OPTIONS
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Fl V
|
1999-12-05 19:57:14 +00:00
|
|
|
Print the version number to standard error.
|
1995-04-12 02:42:39 +00:00
|
|
|
.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
|
1995-04-12 02:42:39 +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
|
|
|
|
Is an alias for
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm atq .
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Fl d
|
|
|
|
Is an alias for
|
1999-12-05 19:57:14 +00:00
|
|
|
.Nm atrm .
|
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.
|
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
|
1995-04-12 02:42:39 +00:00
|
|
|
.It Pa /var/run/utmp
|
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
|
1995-04-12 02:42:39 +00:00
|
|
|
.Sh BUGS
|
|
|
|
If the file
|
|
|
|
.Pa /var/run/utmp
|
|
|
|
is not available or corrupted, or if the user is not logged on at the
|
|
|
|
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
|
2000-12-19 16:00:12 +00:00
|
|
|
.Nm \&At
|
1995-04-12 02:42:39 +00:00
|
|
|
and
|
|
|
|
.Nm batch
|
|
|
|
as presently implemented are not suitable when users are competing for
|
|
|
|
resources.
|
|
|
|
If this is the case for your site, you might want to consider another
|
|
|
|
batch system, such as
|
1999-12-05 19:57:14 +00:00
|
|
|
.Em nqs .
|
1998-03-23 07:48:45 +00:00
|
|
|
.Sh AUTHORS
|
|
|
|
At was mostly written by
|
|
|
|
.An Thomas Koenig Aq ig25@rz.uni-karlsruhe.de .
|
|
|
|
The time parsing routines are by
|
|
|
|
.An David Parsons Aq orc@pell.chi.il.us .
|