Unix/Linux Go Back    


OpenSolaris 2009.06 - man page for at (opensolaris section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


at(1)					  User Commands 				    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 queuename] -t time

       /usr/xpg4/bin/at [-c | -k | -s] [-m] [-f file] [-p project]
	    [-q queuename] 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]

DESCRIPTION
   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. Execution of submitted jobs can be delayed by
       limits on the number of jobs allowed to run concurrently. See queuedefs(4).

OPTIONS
       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 standard error  is  pro-
			vided 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  interpreted  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 submission. When used with
			the -l option, limits the search to that  particular  queue.  Values  for
			queuename  are limited 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  previ-
			ously scheduled by the at utility.

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

OPERANDS
       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 specified. All of the timespec
		     operands are interpreted as if they were separated by space  characters  and
		     concatenated.  The date and time are interpreted as being in the timezone of
		     the user (as determined by the TZ variable), unless a timezone name  appears
		     as part of time below.

		     In the "C" locale, the following describes the three parts of the time spec-
		     ification string. All of the values 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 numbers 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, meaning  hour:minute.  An
				   AM/PM indication (one of the values from the am_pm keywords 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 specify 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 recognized 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 preceded 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 num-
				   ber of + 1. For example, the  following  are  equivalent  com-
				   mands:

				     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,  tomor-
       row, 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 descriptors, traps and priority inherited from the
       invoking environment are lost.

EXAMPLES
   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
	 !

ENVIRONMENT VARIABLES
       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 containing format strings. The strings consist of for-
		   mat	specifiers  and  text characters that are used to provide a richer set of
		   allowable date formats in different languages by appropriate settings  of  the
		   environment	variable LANG or LC_TIME. The list of allowable format specifiers
		   is located in the getdate(3C) manual page. The formats described in the  OPER-
		   ANDS  section  for  the  time and date arguments, the special names noon, mid-
		   night, now, next, today, tomorrow, and the increment argument are  not  recog-
		   nized 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 execution at the time  speci-
		   fied by timespec or -t time relative to the timezone specified by the TZ vari-
		   able. 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.

EXIT STATUS
       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.

FILES
       /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 utilities

ATTRIBUTES
       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			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       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)

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

SunOS 5.11				   13 Apr 2005					    at(1)
Unix & Linux Commands & Man Pages : ©2000 - 2017 Unix and Linux Forums


All times are GMT -4. The time now is 04:43 PM.