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

FreeBSD Manual Pages

  
 
  

home | help
at(1)									 at(1)

NAME
       at, batch - execute commands at a later time

SYNOPSIS
       /usr/bin/at  [-c	| -k | -s]  [-m] [-f file] [-p project]	[-q queuename]
       -t time

       /usr/bin/at [-c | -k | -s]  [-m]	[-f file] [-p project]	[-q queuename]
       timespec...

       /usr/bin/at -l [-p project] [-q queuename] [ at_job_id. ..]

       /usr/bin/at -r at_job_id. ..

       /usr/bin/batch [-p project]

       /usr/xpg4/bin/at	[-c | -k | -s]	[-m] [-f file] [-p project] [-q	queue-
       name] -t	time

       /usr/xpg4/bin/at	[-c | -k | -s]	[-m] [-f file] [-p project] [-q	queue-
       name] timespec...

       /usr/xpg4/bin/at	-l [-p project]	[-q queuename] [ at_job_id. ..]

       /usr/xpg4/bin/at	-r at_job_id. ..

       /usr/xpg4/bin/batch [-p project]

   at
       The  at	utility	 reads	commands  from	standard input and groups them
       together	as an at-job, to be executed at	a later	time.

       The at-job is executed in a separate invocation of the  shell,  running
       in  a  separate process group with no controlling terminal, except that
       the environment variables, current  working  directory,	file  creation
       mask  (see  umask(1)), and system resource limits (for sh and ksh only,
       see ulimit(1)) in effect	when the at utility is	executed  is  retained
       and used	when the at-job	is executed.

       When  the  at-job  is  submitted,  the at_job_id	and scheduled time are
       written to standard error. The at_job_id	is an  identifier  that	 is  a
       string  consisting  solely  of  alphanumeric  characters	and the	period
       character. The at_job_id	is assigned by the  system  when  the  job  is
       scheduled such that it uniquely identifies a particular job.

       User  notification  and the processing of the job's standard output and
       standard	error are described under the -m option.

       Users are permitted to use at and  batch	 (see  below)  if  their  name
       appears	in  the	 file  /usr/lib/cron/at.allow.	If  that file does not
       exist, the file /usr/lib/cron/at.deny is	checked	to  determine  if  the
       user should be denied access to at. If neither file exists, only	a user
       with the	solaris.jobs.user authorization	is allowed to submit a job. If
       only  at.deny  exists  and  is  empty,  global  usage is	permitted. The
       at.allow	and at.deny files consist of one user name per line.

       cron and	at jobs	are not	be executed if the user's account  is  locked.
       Only  accounts  which  are not locked as	defined	in shadow(4) will have
       their job or process executed.

   batch
       The batch utility reads commands	to be executed at a later time.

       Commands	of the forms:

       /usr/bin/batch [-p project]
       /usr/xpg4/bin/batch [-p project]

       are respectively	equivalent to:

       /usr/bin/at -q b	[-p project] now
       /usr/xpg4/bin/at	-q b -m	[-p project] now

       where queue b is	a special at queue, specifically for batch jobs. Batch
       jobs  are  submitted to the batch queue for immediate execution.	Execu-
       tion of submitted jobs can be delayed by	limits on the number  of  jobs
       allowed to run concurrently. See	queuedefs(4).

       If  the	-c, -k,	or -s options are not specified, the SHELL environment
       variable	by default determines which shell to use.

       For /usr/xpg4/bin/at and	/usr/xpg4/bin/batch,  if  SHELL	 is  unset  or
       NULL, /usr/xpg4/bin/sh is used.

       For  usr/bin/at	and /usr/bin/batch, if SHELL is	unset or NULL, /bin/sh
       is used.

       The following options are supported:

       -c	       C shell.	csh(1) is used to execute the at-job.

       -k	       Korn shell. ksh(1) is used to execute the at-job.

       -s	       Bourne shell. sh(1) is used to execute the at-job.

       -f file	       Specifies the path of a file to be used as  the	source
		       of the at-job, instead of standard input.

       -l	       (The  letter  ell.)  Reports all	jobs scheduled for the
		       invoking	user if	no at_job_id operands  are  specified.
		       If  at_job_ids  are specified, reports only information
		       for these jobs.

       -m	       Sends mail to the invoking user after  the  at-job  has
		       run,  announcing	 its  completion.  Standard output and
		       standard	error produced by the at-job are mailed	to the
		       user as well, unless redirected elsewhere. Mail is sent
		       even if the job produces	no output.

		       If -m is	not used, the job's standard output and	 stan-
		       dard  error  is	provided to the	user by	means of mail,
		       unless they are redirected elsewhere; if	 there	is  no
		       such output to provide, the user	is not notified	of the
		       job's completion.

       -p project      Specifies under which project the at or	batch  job  is
		       run. When used with the -l option, limits the search to
		       that particular project.	Values for project  is	inter-
		       preted  first as	a project name,	and then as a possible
		       project ID, if entirely numeric.	By default, the	user's
		       current project is used.

       -q queuename    Specifies  in which queue to schedule a job for submis-
		       sion. When used with the	-l option, limits  the	search
		       to that particular queue. Values	for queuename are lim-
		       ited to the lower case letters a	through	z. By default,
		       at-jobs	are scheduled in queue a. In contrast, queue b
		       is reserved for batch jobs. Since queue c  is  reserved
		       for cron	jobs, it can not be used with the -q option.

       -r at_job_id    Removes	the jobs with the specified at_job_id operands
		       that were previously scheduled by the at	utility.

       -t time	       Submits the job to be run at the	time specified by  the
		       time  option-argument,  which  must  have the format as
		       specified by the	touch(1) utility.

       The following operands are supported:

       at_job_id       The name	reported by a previous invocation  of  the  at
		       utility at the time the job was scheduled.

       timespec	       Submit  the  job	 to be run at the date and time	speci-
		       fied. All of the	timespec operands are  interpreted  as
		       if they were separated by space characters and concate-
		       nated. The date and time	are interpreted	 as  being  in
		       the timezone of the user	(as determined by the TZ vari-
		       able), unless a timezone	name appears as	part  of  time
		       below.

		       In  the	"C"  locale, the following describes the three
		       parts of	the time specification string. All of the val-
		       ues  from  the LC_TIME categories in the	"C" locale are
		       recognized in a case-insensitive	manner.

		       time	       The time	can be specified as  one,  two
				       or four digits. One- and	two-digit num-
				       bers are	taken to be hours,  four-digit
				       numbers	to  be	hours and minutes. The
				       time can	alternatively be specified  as
				       two numbers separated by	a colon, mean-
				       ing hour:minute.	 An  AM/PM  indication
				       (one  of	the values from	the am_pm key-
				       words in	the LC_TIME  locale  category)
				       can   follow  the  time;	 otherwise,  a
				       24-hour clock  time  is	understood.  A
				       timezone	 name  of  GMT,	 UCT,  or ZULU
				       (case insensitive) can follow to	 spec-
				       ify  that  the  time  is	in Coordinated
				       Universal Time.	Other timezones	can be
				       specified   using  the  TZ  environment
				       variable. The time field	 can  also  be
				       one  of the following tokens in the "C"
				       locale:

				       midnight	Indicates the  time  12:00  am
						(00:00).

				       noon	Indicates the time 12:00 pm.

				       now	Indicate  the  current day and
						time. Invoking at now  submits
						an   at-job   for  potentially
						immediate execution (that  is,
						subject	 only  to  unspecified
						scheduling delays).

		       date	       An optional date	can  be	 specified  as
				       either  a month name (one of the	values
				       from the	mon or abmon keywords  in  the
				       LC_TIME	locale category) followed by a
				       day number (and	possibly  year	number
				       preceded	 by  a	comma) or a day	of the
				       week (one of the	values from the	day or
				       abday  keywords	in  the	LC_TIME	locale
				       category). Two special days are	recog-
				       nized in	the "C"	locale:

				       today	Indicates the current day.

				       tomorrow	Indicates  the	day  following
						the current day.

				       If no date is given, today  is  assumed
				       if  the	given time is greater than the
				       current time, and tomorrow  is  assumed
				       if  it  is  less. If the	given month is
				       less than the  current  month  (and  no
				       year is given), next year is assumed.

		       increment       The optional increment is a number pre-
				       ceded by	a plus sign (+)	 and  suffixed
				       by   one	 of  the  following:  minutes,
				       hours, days, weeks, months,  or	years.
				       (The singular forms are also accepted.)
				       The keyword next	is  equivalent	to  an
				       increment  number  of + 1. For example,
				       the following are equivalent commands:

				       at 2pm +	1 week
				       at 2pm next week

USAGE
       The format of the at command line shown here is guaranteed only for the
       "C"  locale.  Other  locales are	not supported for midnight, noon, now,
       mon, abmon, day,	abday, today, tomorrow,	minutes, hours,	 days,	weeks,
       months, years, and next.

       Since  the  commands  run  in a separate	shell invocation, running in a
       separate	process	group with no controlling terminal, open file descrip-
       tors,  traps  and  priority inherited from the invoking environment are
       lost.

   at
       Example 1: Typical Sequence at a	Terminal

       This sequence can be used at a terminal:

       $ at -m 0730 tomorrow
       sort < file >outfile
       <EOT>

       Example 2: Redirecting Output

       This sequence, which demonstrates redirecting standard error to a pipe,
       is  useful  in  a command procedure (the	sequence of output redirection
       specifications is significant):

       $ at now	+ 1 hour <<!
       diff file1 file2	2>&1 >outfile |	mailx mygroup

       Example 3: Self-rescheduling a Job

       To have a job reschedule	itself,	at can be invoked from within the  at-
       job.  For  example,  this "daily-processing" script named my.daily runs
       every day (although crontab is a	 more  appropriate  vehicle  for  such
       work):

       # my.daily runs every day
       at now tomorrow < my.daily
       daily-processing

       Example 4: Various Time and Operand Presentations

       The  spacing  of	the three portions of the "C" locale timespec is quite
       flexible	as long	as there are no	ambiguities. Examples of various times
       and operand presentations include:

       at 0815am Jan 24
       at 8 :15amjan24
       at now "+ 1day"
       at 5 pm FRIday
       at '17
	    utc+
	    30minutes'

   batch
       Example 5: Typical Sequence at a	Terminal

       This sequence can be used at a terminal:

       $ batch
       sort <file >outfile
       <EOT>

       Example 6: Redirecting Output

       This sequence, which demonstrates redirecting standard error to a pipe,
       is useful in a command procedure	(the sequence  of  output  redirection
       specifications is significant):

       $ batch <<!
       diff file1 file2	2>&1 >outfile |	mailx mygroup
       !

       See  environ(5) for descriptions	of the following environment variables
       that affect the execution of at	and  batch:  LANG,  LC_ALL,  LC_CTYPE,
       LC_MESSAGES,  NLSPATH, and LC_TIME.

       DATEMSK	       If the environment variable DATEMSK is set, at uses its
		       value as	the full path name of a	template file contain-
		       ing format strings. The strings consist of format spec-
		       ifiers and text characters that are used	to  provide  a
		       richer  set of allowable	date formats in	different lan-
		       guages by appropriate settings of the environment vari-
		       able  LANG  or  LC_TIME.	 The  list of allowable	format
		       specifiers is located in	the getdate(3C)	 manual	 page.
		       The  formats  described in the OPERANDS section for the
		       time and	date arguments,	the special names  noon,  mid-
		       night,  now,  next,  today, tomorrow, and the increment
		       argument	are not	recognized when	DATEMSK	is set.

       SHELL	       Determine a name	of a command interpreter to be used to
		       invoke the at-job. If the variable is unset or NULL, sh
		       is used.	If it is set to	a value	 other	than  sh,  the
		       implementation uses that	shell; a warning diagnostic is
		       printed telling which shell will	be used.

       TZ	       Determine the timezone. The job is submitted for	execu-
		       tion at the time	specified by timespec or -t time rela-
		       tive to the timezone specified by the TZ	variable.   If
		       timespec	 specifies  a  timezone,  it  overrides	TZ. If
		       timespec	does not specify a timezone and	TZ is unset or
		       NULL, an	unspecified default timezone is	used.

       The following exit values are returned:

       0	The at utility successfully submitted, removed or listed a job
		or jobs.

       >0	An error occurred, and the job will not	be scheduled.

       /usr/lib/cron/at.allow	       names of	users, one per line,  who  are
				       authorized  access  to the at and batch
				       utilities

       /usr/lib/cron/at.deny	       names of	users, one per line,  who  are
				       denied access to	the at and batch util-
				       ities

       See attributes(5) for descriptions of the following attributes:

   /usr/bin/at
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Not enabled		   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

   /usr/xpg4/bin/at
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWxcu4			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Not enabled		   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

   /usr/bin/batch
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWesu			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

   /usr/xpg4/bin/batch
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWxcu4			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

       auths(1),  crontab(1),  csh(1),	date(1),  ksh(1),   sh(1),   touch(1),
       ulimit(1),  umask(1),  cron(1M),	 getdate(3C), auth_attr(4), shadow(4),
       queuedefs(4), attributes(5), environ(5),	standards(5)

       Regardless of queue used, cron(1M) has a	limit of 100 jobs in execution
       at any time.

       There  can  be  delays  in  cron	at job execution. In some cases, these
       delays can compound to the point	that cron job processing appears to be
       hung.  All jobs are executed eventually.	When the delays	are excessive,
       the only	workaround is to kill and restart cron.

				  13 Apr 2005				 at(1)

NAME | SYNOPSIS | USAGE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=at&sektion=1&manpath=SunOS+5.10>

home | help