Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
AT(1)			  BSD General Commands Manual			 AT(1)

     at, batch,	atq, atrm -- queue, examine or delete jobs for later execution

     at	[-q queue] [-f file] [-mldbv] time
     at	[-q queue] [-f file] [-mldbv] -t [[CC]YY]MMDDhhmm[.SS]
     at	-c job [job ...]
     at	-l [job	...]
     at	-l -q queue
     at	-r job [job ...]

     atq [-q queue] [-v]

     atrm job [job ...]

     batch [-q queue] [-f file]	[-mv] [time]

     At	and batch read commands	from standard input or a specified file	which
     are to be executed	at a later time, using sh(1).

     at	     executes commands at a specified time;

     atq     lists the user's pending jobs, unless the user is the superuser;
	     in	that case, everybody's jobs are	listed;

     atrm    deletes jobs;

     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 atrun.

     At	allows some moderately complex time specifications.  It	accepts	times
     of	the form HHMM or HH:MM to run a	job at a specific time of day.	(If
     that time is already past,	the next day is	assumed.)  As an alternative,
     the following keywords may	be specified: midnight,	noon, or teatime (4pm)
     and time-of-day may be suffixed with AM or	PM for running in the morning
     or	the evening.  The day on which the job is to be	run may	also be	speci-
     fied by giving a date in the form month-name day with an optional year,
     or	giving a date of the forms DD.MM.YYYY, DD.MM.YY, MM/DD/YYYY, MM/DD/YY,
     MMDDYYYY, or MMDDYY.  The specification of	a date must follow the speci-
     fication of the time of day.  Time	can also be specified as: [now]	+
     count time-units, where the time-units can	be minutes, hours, days,
     weeks, months or years and	at may be told to run the job today by suffix-
     ing the time with today and to run	the job	tomorrow by suffixing the time
     with tomorrow.

     For example, to run a job at 4pm three days from now, use at 4pm +	3
     days, to run a job	at 10:00am on July 31, use at 10am Jul 31 and to run a
     job at 1am	tomorrow, use at 1am tomorrow.

     The at utility also supports the POSIX time format	(see -t	option).

     For both at and batch, commands are read from standard input or the file
     specified with the	-f option and executed.	 The working directory,	the
     environment (except for the variables TERM, TERMCAP, DISPLAY and _) and
     the umask are retained from the time of invocation.  An at	or batch com-
     mand invoked from a 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 sendmail(8).  If	at is executed
     from a su(1) shell, the owner of the login	shell will receive the mail.

     The superuser may use these commands in any case.	For other users, per-
     mission to	use at is determined by	the files /var/at/at.allow and

     If	the file /var/at/at.allow exists, only usernames mentioned in it are
     allowed to	use at.

     If	/var/at/at.allow does not exist, /var/at/at.deny is checked, every
     username not mentioned in it is then allowed to use at.

     If	neither	exists,	only the superuser is allowed use of at.  This is the
     default configuration.

     Note that at is implemented through the cron(8) daemon by calling
     atrun(8) every five minutes.  This	implies	that the granularity of	at
     might not be optimal for every deployment.	 If a finer granularity	is
     needed, the system	crontab	at /etc/crontab	needs to be changed.

     -q	queue
	     Use the specified queue.  A queue designation consists of a sin-
	     gle letter; valid queue designations range	from a to z and	A to
	     Z.	 The c queue is	the default for	at and the E queue for 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
	     atq is given a specific queue, it will only show jobs pending in
	     that queue.

     -m	     Send mail to the user when	the job	has completed even if there
	     was no output.

     -f	file
	     Read the job from file rather than	standard input.

     -l	     With no arguments,	list all jobs for the invoking user.  If one
	     or	more job numbers are given, list only those jobs.

     -d	     Is	an alias for atrm (this	option is deprecated; use -r instead).

     -b	     Is	an alias for batch.

     -v	     For atq, shows completed but not yet deleted jobs in the queue;
	     otherwise shows the time the job will be executed.

     -c	     Cat the jobs listed on the	command	line to	standard output.

     -r	     Remove the	specified jobs.

     -t	     Specify the job time using	the POSIX time format.	The argument
	     should be in the form [[CC]YY]MMDDhhmm[.SS] where each pair of
	     letters represents	the following:

		   CC	   The first two digits	of the year (the century).
		   YY	   The second two digits of the	year.
		   MM	   The month of	the year, from 1 to 12.
		   DD	   the day of the month, from 1	to 31.
		   hh	   The hour of the day,	from 0 to 23.
		   mm	   The minute of the hour, from	0 to 59.
		   SS	   The second of the minute, from 0 to 61.

	     If	the CC and YY letter pairs are not specified, the values de-
	     fault to the current year.	 If the	SS letter pair is not speci-
	     fied, the value defaults to 0.

     /var/at/jobs	     directory containing job files
     /var/at/spool	     directory containing output spool files
     /var/run/utmp	     login records
     /var/at/at.allow	     allow permission control
     /var/at/at.deny	     deny permission control
     /var/at/jobs/.lockfile  job-creation lock file

     nice(1), sh(1), umask(2), atrun(8), cron(8), sendmail(8)

     If	the file /var/run/utmp is not available	or corrupted, or if the	user
     is	not logged on at the time at is	invoked, the mail is sent to the
     userid found in the environment variable LOGNAME.	If that	is undefined
     or	empty, the current userid is assumed.

     At	and batch as presently implemented are not suitable when users are
     competing for resources.  If this is the case, another batch system such
     as	nqs may	be more	suitable.

     Specifying	a date past 2038 may not work on some systems.

     At	was mostly written by Thomas Koenig <>.	 The
     time parsing routines are by
     David Parsons <>, with minor enhancements by
     Joe Halpin	<>.

BSD			       January 13, 2002				   BSD


Want to link to this manual page? Use this URL:

home | help