at(1) General Commands Manual at(1)
Name
at, batch - execute commands at a later time
Syntax
at time [day] [file]
at -r job...
at -l [job...]
batch [file]
Description
The and commands use a copy of the named file (standard input default) as input to or at a later time. A command to the current directory
is inserted at the beginning, followed by assignments to all environment variables. When the script is run, it uses the user and group ID
of the creator of the copy file.
The command allows the user to specify when the commands should be executed, while jobs queued with execute when the load level of the sys-
tem permits.
The environment variables, current directory, and are retained when the commands are executed. However, open files, traps, and priority
are lost.
Users are permitted to use the and commands if their name appears in the file If that file does not exist, the file is checked to determine
if the user should be denied access to and If neither file exists, only the superuser is allowed to submit a job. If only the file exists
and is empty, global usage is permitted. The files consist of one user name per line.
The time is 1 to 4 digits. It can, but does not have to be, followed by A, P, N or M which stand for AM, PM, noon or midnight, respec-
tively. The A, P, N, and M suffixes are case-insensitive. One and two digit numbers are interpreted as hours, three and four digits to be
hours and minutes. If three digits are specified, the first digit is interpreted to be an hour in the range 0-9, and the second and third
digits as minutes. If no letters follow the digits, a 24 hour clock time is presumed.
In addition to 1-4 digits, and suffixes A, P, M, N, you can also specify:
at hh:mm
at h:mm
at ham
at hpm
at noon
at midnight
The optional day is either a month name followed by a day number or by a day of the week. If the word week follows, the or command is
invoked in seven days. Both commands also recognize standard abbreviations for the days of the week and months of the year. The following
are examples of legitimate commands:
at 8am jan 24
at 1530 fr week
The programs are executed by periodic execution of the command from The granularity of depends upon how often atrun is executed. The com-
mand examines the file every minute. The file determines when is executed. The default is every 15 minutes on the 1/4 hour. Editing makes
run more or less frequently.
Standard output or error output is lost unless it is redirected.
The and commands write the job number to standard error.
Options
-r Removes jobs previously scheduled by or The number is the number reported at invocation by or Only the superuser is
allowed to remove another user's jobs.
-l Lists all job numbers for all jobs submitted by the user issuing the command. Even if the user is "root", only numbers
for jobs submitted by "root" are displayed. To see the numbers of all jobs submitted, enter the following command:
% ls -l /usr/spool/at
Restrictions
Due to the granularity of the execution of there may be bugs in scheduling jobs almost exactly 24 hours into the future.
Diagnostics
Complains about various syntax errors and times that are out of range.
Files
/usr/lib/atrun executor run by cron(8)
in /usr/spool/at:
yy.ddd.hhhh.* activity for year yy, day dd, hour hhhh.
lasttimedone last hhhh
past activities in progress
/usr/spool/at/at.allowlist of allowed users
/usr/spool/at/at.denylist of denied users
/usr/spool/at spool directory
/usr/lib/cron XOPEN compatibility
See Also
crontab(5), cron(8)
at(1)