334 lines
6.6 KiB
Groff
334 lines
6.6 KiB
Groff
.\" $NetBSD: at.1,v 1.23 2008/03/11 01:04:18 christos Exp $
|
|
.\" $OpenBSD: at.1,v 1.6 1998/06/05 00:47:46 deraadt Exp $
|
|
.\" $FreeBSD: at.man,v 1.6 1997/02/22 19:54:05 peter Exp $
|
|
.Dd March 10, 2008
|
|
.Dt AT 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm at ,
|
|
.Nm batch ,
|
|
.Nm atq ,
|
|
.Nm atrm
|
|
.Nd queue, examine or delete jobs for later execution
|
|
.Sh SYNOPSIS
|
|
.Nm at
|
|
.Op Fl bdlmrVv
|
|
.Op Fl f Ar file
|
|
.Op Fl q Ar queue
|
|
.Fl t Ar [[CC]YY]MMDDhhmm[.SS]
|
|
.Nm
|
|
.Op Fl bdlmrVv
|
|
.Op Fl f Ar file
|
|
.Op Fl q Ar queue
|
|
.Ar time
|
|
.Nm
|
|
.Op Fl V
|
|
.Fl c Ar job Op Ar job ...
|
|
.Nm atq
|
|
.Op Fl Vv
|
|
.Op Fl q Ar queue
|
|
.Nm atrm
|
|
.Op Fl V
|
|
.Ar job
|
|
.Op Ar job ...
|
|
.Nm batch
|
|
.Op Fl mVv
|
|
.Op Fl f Ar file
|
|
.Op Fl q Ar queue
|
|
.Op Fl t Ar [[CC]YY]MMDDhhmm[.SS]
|
|
.Nm batch
|
|
.Op Fl mVv
|
|
.Op Fl f Ar file
|
|
.Op Fl q Ar queue
|
|
.Op Ar time
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
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 1.5, or the value specified in the invocation of
|
|
.Xr atrun 8 .
|
|
.El
|
|
.Pp
|
|
.Nm
|
|
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
|
|
.Sq midnight ,
|
|
.Sq noon ,
|
|
or
|
|
.Sq teatime
|
|
(4pm)
|
|
and you can have a time-of-day suffixed with
|
|
.Sq AM
|
|
or
|
|
.Sq PM
|
|
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 .
|
|
The specification of a date must follow the specification of
|
|
the time of day.
|
|
You can also give times like
|
|
.Op Nm now
|
|
or
|
|
.Op Nm now
|
|
.Sq + Ar count \%time-units ,
|
|
where the time-units can be
|
|
.Sq minutes ,
|
|
.Sq hours ,
|
|
.Sq days ,
|
|
.Sq weeks,
|
|
.Sq months,
|
|
or
|
|
.Sq years
|
|
and you can tell
|
|
.Nm
|
|
to run the job today by suffixing the time with
|
|
.Sq today
|
|
and to run the job tomorrow by suffixing the time with
|
|
.Sq tomorrow .
|
|
.Pp
|
|
For example, to run a job at 4pm three days from now, you would do
|
|
.Dl at 4pm + 3 days ,
|
|
to run a job at 10:00am on July 31, you would do
|
|
.Dl at 10am Jul 31
|
|
and to run a job at 1am tomorrow, you would do
|
|
.Dl at 1am tomorrow .
|
|
.Pp
|
|
Alternatively the time may be specified in a language-neutral fashion
|
|
by using the
|
|
.Fl t
|
|
options.
|
|
.Pp
|
|
For both
|
|
.Nm
|
|
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
|
|
.Ev TERM ,
|
|
.Ev TERMCAP ,
|
|
.Ev DISPLAY
|
|
and
|
|
.Ev _ )
|
|
and the
|
|
.Ar umask
|
|
are retained from the time of invocation.
|
|
An
|
|
.Nm
|
|
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
|
|
.Nm
|
|
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 /var/at/at.allow
|
|
and
|
|
.Pa /var/at/at.deny .
|
|
.Pp
|
|
If the file
|
|
.Pa /var/at/at.allow
|
|
exists, only usernames mentioned in it are allowed to use
|
|
.Nm .
|
|
.Pp
|
|
If
|
|
.Pa /var/at/at.allow
|
|
does not exist,
|
|
.Pa /var/at/at.deny
|
|
is checked, every username not mentioned in it is then allowed
|
|
to use
|
|
.Nm .
|
|
.Pp
|
|
If neither exists, only the superuser is allowed use of
|
|
.Nm .
|
|
.Pp
|
|
An empty
|
|
.Pa /var/at/at.deny
|
|
means that every user is allowed use these commands.
|
|
This is the default configuration.
|
|
.Sh OPTIONS
|
|
.Bl -tag -offset indent -width XqXqueueXX
|
|
.It Fl b
|
|
Is an alias for
|
|
.Nm batch .
|
|
.It Fl c
|
|
Cats the jobs listed on the command line to standard output.
|
|
.It Fl d
|
|
Is an alias for
|
|
.Nm atrm .
|
|
.It Fl f Ar file
|
|
Reads the job from
|
|
.Ar file
|
|
rather than standard input.
|
|
.It Fl l
|
|
Is an alias for
|
|
.Nm atq .
|
|
.It Fl m
|
|
Send mail to the user when the job has completed even if there was no
|
|
output.
|
|
.It Fl q Ar queue
|
|
Uses the specified queue.
|
|
A queue designation consists of a single letter.
|
|
Valid queue designations
|
|
range from
|
|
.Sq a
|
|
to
|
|
.Sq z
|
|
and
|
|
.Sq A
|
|
to
|
|
.Sq Z .
|
|
The
|
|
.Sq c
|
|
queue is the default for
|
|
.Nm
|
|
and the
|
|
.Sq E
|
|
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 r
|
|
Is an alias for
|
|
.Nm atrm .
|
|
.It Fl t
|
|
For both
|
|
.Nm
|
|
and
|
|
.Nm batch ,
|
|
the time may be specified in a language-neutral format consisting of:
|
|
.Bl -tag -width Ds -compact -offset indent
|
|
.It Ar CC
|
|
The first two digits of the year (the century).
|
|
.It Ar YY
|
|
The second two digits of the year.
|
|
If
|
|
.Ar YY
|
|
is specified, but
|
|
.Ar CC
|
|
is not, a value for
|
|
.Ar YY
|
|
between 69 and 99 results in a
|
|
.Ar CC
|
|
value of 19.
|
|
Otherwise, a
|
|
.Ar CC
|
|
value of 20 is used.
|
|
.It Ar MM
|
|
The month of the year, from 01 to 12.
|
|
.It Ar DD
|
|
The day of the month, from 01 to 31.
|
|
.It Ar hh
|
|
The hour of the day, from 00 to 23.
|
|
.It Ar mm
|
|
The minute of the hour, from 00 to 59.
|
|
.It Ar SS
|
|
The second of the minute, from 00 to 61.
|
|
.El
|
|
.It Fl V
|
|
Prints the version number to standard error.
|
|
.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.
|
|
.El
|
|
.Sh FILES
|
|
.Bl -tag -width /var/at/.lockfile -compact
|
|
.It Pa /var/at/jobs
|
|
Directory containing job files
|
|
.It Pa /var/at/spool
|
|
Directory containing output spool files
|
|
.It Pa /var/run/utmp
|
|
Login records
|
|
.It Pa /var/at/at.allow
|
|
Allow permission control
|
|
.It Pa /var/at/at.deny
|
|
Deny permission control
|
|
.It Pa /var/at/.lockfile
|
|
Job-creation lock file.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr nice 1 ,
|
|
.Xr sh 1 ,
|
|
.Xr umask 2 ,
|
|
.Xr atrun 8 ,
|
|
.Xr cron 8 ,
|
|
.Xr sendmail 8
|
|
.Sh STANDARDS
|
|
The
|
|
.Nm
|
|
and
|
|
.Nm batch
|
|
utilities conform to
|
|
.St -p1003.2-92 .
|
|
.Sh AUTHORS
|
|
At was mostly written by Thomas Koenig \*[Lt]ig25@rz.uni-karlsruhe.de\*[Gt].
|
|
The time parsing routines are by David Parsons \*[Lt]orc@pell.chi.il.us\*[Gt].
|
|
.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
|
|
.Nm
|
|
is invoked, the mail is sent to the userid found
|
|
in the environment variable
|
|
.Ev LOGNAME .
|
|
If that is undefined or empty, the current userid is assumed.
|
|
.Pp
|
|
.Nm
|
|
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
|
|
.Ic nqs .
|