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]

     The at and	batch utilities	read commands from standard input or a speci-
     fied 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.

     The at utility 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 specified by giving a date	in the form month-name day with	an op-
     tional 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 specification of the time of day.	Time can also be spec-
     ified 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 to-
     day by suffixing the time with today and to run the job tomorrow by suf-
     fixing 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.	 In these two files, a user is considered to be	listed
     only if the user name has no blank	or other characters before it on its
     line and a	newline	character immediately after the	name, even at the end
     of	the file.  Other lines are ignored and may be used for comments.

     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/     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)

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

     If	the file /var/run/ 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.

     The at and	batch utilities	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.

BSD			       January 13, 2002				   BSD


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

home | help