AT(1) BSD Reference Manual AT(1)
at - schedule execution of commands `at' a given time
at [-c] [-m] [-s] time [day] [command_file]
At schedules execution of commands at the specified time. The commands
may be given to at via the command_file or accepted from the standard in-
put. At will pass these commands to the appropriate shell at the re-
quested time. While awaiting execution, the jobs reside in a spool direc-
tory and may be examined by the atq(1) program.
-c Command_file contains csh(1) commands.
-s Command_file contains sh(1) commands.
-m Mail will be sent to the user after the job has been run. If er-
rors occur during execution of the job, then a copy of the error
diagnostics will be sent to the user. If no errors occur, then a
short message is sent informing the user that no errors occurred.
If a command_file is not specified, at prompts for commands from standard
input until a `^D' is typed.
The format of the spool file is as follows: a four line header that in-
cludes the owner of the job, the name of the job, the shell used to run
the job, and whether mail will be sent after the job is executed. The
header is followed by a cd command to the current directory and a umask
command to set the modes on any files created by the job. At copies all
relevant environment variables to the spool file. When the script is
run, it uses the user and group ID of the creator of the spool file.
The time is either a 24 hour military time hhmm, where hh is hour and mm
is minutes, or the traditional 12 hour time with qualifying options:
am, a am
pm, p pm
The time can be abbreviated as shown below in EXAMPLES.
A day of the week may be specified by the first two letters of its name.
A week (7 days) may be specified by the argument week. If a month name is
given, the following argument is expected to be the day (numeric).
If a shell is not specified, the current environment variable SHELL is
at 10p Execute at 10pm today, or tomorrow if 10pm has past. Use the
shell found in the environment variable SHELL.
at -c -m 1705 mo
Execute at 5:05pm on Monday using csh(1) and send mail upon com-
pletion or termination of the job.
at -s -m 1200n week
Execute at noon one week from today, using sh(1) and send mail
at -s 8a apr 1
Ideally this would be given late in March. The commands would be
run at 8 am on April first, using the sh(1).
Errors must be collected via the -m option or by redirecting the standard
output from inside the command_file.
/var/spool/at spooling area
/var/spool/at/yy.ddd.hhhh.* job file
/var/spool/at/past directory where jobs are executed from
/var/spool/at/lasttimedone last time atrun was run
/var/libexec/atrun executor (run by cron(8))
atq(1), atrm(1), calendar(1), cron(8) sleep(1),
Complains about various syntax errors and times out of range.
The queueing mechanism /usr/libexec/atrun, is scheduled by cron(8). If
it is run infrequently, a job may fall through the cracks.
There are known problems attempting to specify a time of 2400 hours to
If the system crashes, mail is not sent to the user informing them that
the job was not completed.
Sometimes old spool files are not removed from the directory
/var/spool/at/past. This is usually due to a system crash, and requires
that they be removed by hand.
An at command appeared in Version 7 AT&T UNIX.
4th Berkeley Distribution April 18, 1994 2