at, batch - Runs commands at a later time
at [-c | -s | -k] [-m] [-f file] [-q queuename] time
[date] [+increment] [command | file]...
at [-c | -s | -k] [-m] [-f file] [-q queuename] -t
[[cc]yy] MMddhhmm [.ss]
at -l -o [-q queuename] [user...]
at -l [job_number]
at -r [-Fi] job_number... | [-u user]
at -n [user]
The at and batch commands read from standard input or
accept as arguments the names of commands to be run at a
later time. The at command lets you specify when the commands
are to be run. The batch command runs jobs when the
system load level permits.
Interfaces documented on this reference page conform to
industry standards as follows:
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
[Tru64 UNIX] Requests that csh be used for executing this
job. Specifies the name of the file to use instead of
stdin. The specified file contains the list of commands
to be executed. [Tru64 UNIX] Suppresses delete verification.
[Tru64 UNIX] Specifies interactive delete. [Tru64
UNIX] Requests that ksh be used for executing this job.
Reports your scheduled jobs.
[Tru64 UNIX] If the root user issues the command
with this option, all of the queued at commands are
listed with the name of the user who issued each
one. The root user can also request a report of
scheduled jobs for the specified user only. Mails
a message about the successful execution of the
command. Standard output and standard error are
also mailed if they are generated and are not redirected.
This is the default for standard output
and standard error. Without the -m option, there
is no notification of job completion, and no mail
if standard output and standard error were not generated.
[Tru64 UNIX] Requests the number of files
in the queue for the current user. The root user
can specify a different user with the user argument.
[Tru64 UNIX] Lists jobs in scheduled order.
This option is useful only when used with the -l
option. Specifies the queue you want to use. When
used with the -l option, limits the search to the
Values for queuename are limited to the lower case
letters a through z. By default, at jobs are
scheduled in queue a and batch jobs are scheduled
in queue b. Since queue c is reserved for cron
jobs, it can not be used with the -q option.
Removes a job previously scheduled by at or batch,
where job_number is the number assigned by at or
batch. If you do not have root user authority, you
can remove only your own jobs. The atrm command is
available to the root user to remove jobs issued by
other users or all jobs issued by a specific user.
This option can be used in combination with the -i,
-f, and -u options. [Tru64 UNIX] Requests that
the Bourne shell be used for executing this job
(default). [Tru64 UNIX] Submits the job to be run
at the specified time. (See the SYNOPSIS section
for the correct time format.) Deletes all jobs for
the specified user. This option must be used with
the -r option as follows: at -r -u user
[Tru64 UNIX] The operands associated with the at command
specify the time at which the job should be run. They are
described in the section Specifying a Time and Date.
Both at and batch mail you the standard output and standard
error from the scheduled commands, unless you redirect
that output. They also write the job number and the
scheduled time to standard error.
If a filename specified on an at command line is executable
(that is, has the x permission for the user in
question), at assumes that it is a command and the job
consists of this command only. If the file is not executable,
at assumes that you want its contents to be the
instructions for the job (same as BSD at).
[Tru64 UNIX] If at cannot find the file at all, the specification
is passed to the date parser. If the specification
is not recognized by the date parser, the user
receives the error Unknown word.
[Tru64 UNIX] The at command defaults to the Bourne shell.
Use the -c option to specify the C shell, or the -k option
to specify the Korn shell. Variables in the shell environment,
the current directory, umask, and ulimit are
retained when the commands run. The value of SHELL is set
to be consistent with the shell actually used. Open file
descriptors, traps, and priority are lost.
You can use at if your login name appears in the
/usr/lib/cron/at.allow file, if that file exists, or if
there is no at.allow file and your name is not in the
/usr/lib/cron/at.deny file. The at.allow and at.deny
files contain one user name per line. Note that
/usr/lib/cron is symbolically linked to /var/adm/cron.
If neither the at.allow nor the at.deny file exists, only
someone with root user authority can submit a job.
To allow global access to at, the system administrator can
remove the at.allow file and create a zero-length at.deny
Specifying a Time and Date [Toc] [Back]
You must specify a time argument with these commands. You
can specify optionally the date argument. These arguments
are affected when the DATEMSK environment variable is set.
The next subsection describes the effect of this environment
The required time argument can be one of the following: A
number followed by an optional suffix. The at command
interprets 1- and 2-digit numbers as hours. It interprets
4 digits as hours and minutes. The LC_TIME environment
variable specifies the order of hours and minutes. The
default order is the hour followed by the minute. You can
also separate hours and minutes with a : (colon). The
default order is hour:minute. In addition, you can specify
a suffix of am, pm, or zulu. If you do not specify am
or pm, at uses a 24-hour clock. The suffix zulu indicates
that the time is UTC (Coordinated Universal Time). The at
command also recognizes the following keywords as special
times: noon, midnight, now, A for a.m., P for p.m., N for
noon, and M for midnight. The time argument specifies a
time in the future. For example, if the current time is
9:02 p.m., and you specify a time of 9P, the command is
executed at 9 p.m. the next day. However, if the current
time is 8:58 p.m. and you specify 9P, the command is executed
in two minutes. The LC_TIME environment variable
controls the keywords that at recognizes. Keywords are
defined on a locale basis.
You can specify the date argument as either a month name
and a day number (and possibly a year number preceded by a
comma), or a day of the week. The LC_TIME environment
variable specifies the order of the month name and day
number (by default, month followed by day). The at command
recognizes two special days, today and tomorrow by
default. The special day today is the default date if the
specified time is later than the current hour; the special
day tomorrow is the default if the time is earlier than
the current hour. If the specified month is less than the
current month (and a year is not given), next year is the
The optional increment can be one of the following: A +
(plus sign) followed by a number and one of the following
words: minute[s], hour[s], day[s], week[s], month[s],
year[s] (or their locale specific equivalents). The special
word next followed by one of the following words:
minute[s], hour[s], day[s], week[s], month[s], year[s] (or
their local specific equivalents).
Job numbers are specified as follows: user.xxxxxxxxx.y
[Tru64 UNIX] The user argument identifies the user who
scheduled the job; xxxxxxxxx is a 9-digit number (encoded
time for the job); and y indicates the job type or queue
name as follows:
Argument Job Type
a at job
b batch job
e ksh job
f csh job
Setting the DATEMSK Environment Variable [Toc] [Back]
[Tru64 UNIX] If the DATEMSK environment variable is set,
it points to a template file that the at command uses to
determine the valid time and date arguments instead of the
values described in the previous section. Specifically,
noon, midnight, now, next, today, tomorrow, and increment
are not recognized when the DATEMSK environment variable
[Tru64 UNIX] The entries in the template file used by the
DATEMSK environment variable provide an expansive set of
date formats available in different languages depending on
the setting of the environment variable LANG or LC_TIME.
The setlocale(3) reference page contains the list of field
descriptors allowed in the template file. This list is a
sublist of the field descriptors supported by the calendar
command which are listed on the date(1) reference page.
The following exit values are returned: The at command
successfully submitted, removed, or listed all specified
jobs. An error occurred.
To schedule a command from a terminal, enter a command
similar to one of the following: at 5 pm Friday uuclean at
now next week uuclean at now + 2 days uuclean
The preceding commands can be scheduled as shown
only if uuclean is in the current directory. To
run uuclean at 3:00 in the afternoon on January 24,
enter any one of the following commands: echo
uuclean | at 3:00 pm January 24 echo uuclean
| at 3pm Jan 24 echo uuclean | at 1500 jan
24 To list the jobs you have sent to be run later,
enter: at -l To cancel jobs, enter: at -r
This cancels job julie.586748399. Use at -l to
list the job numbers assigned to your jobs. To
execute a command when the system load level permits,
enter: batch nroff infile > outfile <Ctrl-d>
where <Ctrl-d> is the End-of-File character.
Assume a template file, /var/tmp/AT.TEMPL, contains
%I %p, the %est of %B of the %Y run the following
job %I %p, the %end of %B of the %Y run the following
job %I %p, the %erd of %B of the %Y run the
following job %I %p, the %eth of %B of the %Y run
the following job %d/%m/%y %H:%M:%S %I:%M%p
To invoke the at command when the DATEMSK environment
variable is set to /var/tmp/AT.TEMPL, and the
template file any of the following are valid: at 2
pm, the 3rd of July of the year 2000 run the following
job at 3/4/99 at 10:30:30 at 2:30pm
Main cron directory List of allowed users List of denied
users Spool area History information for cron Queue
description file for at, batch, and cron
Commands: atq(1), atrm(1), calendar(1), csh(1), cron(8),
date(1), kill(1), mail(1), binmail(1), ksh(1), mailx(1),
Mail(1), nice(1), ps(1), Bourne shell sh(1b), POSIX shell
Network Administration: Services
Command and Shell User's Guide
[ Back ]