unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

at(1)                            User Commands                           at(1)



NAME
       at, batch - execute commands at a later time

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

       at  [-c  |  -k  | -s]  [-m] [-f file] [-p project] [-q queuename] time-
       spec...

       at -l [-p project] [-q queuename] [ at_job_id. ..]

       at -r at_job_id. ..

       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 will be executed in a separate invocation of the shell, run-
       ning in a separate process group with no controlling  terminal,  except
       that  the  environment  variables, current working directory, file cre-
       ation mask (see umask(1)), and system resource limits (for sh  and  ksh
       only,  see ulimit(1)) in effect when the at utility is executed will be
       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 will be
       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  will  be  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. It is
       the equivalent of the command:

       at -q b -m now
       where queue b is a special at queue, specifically for batch jobs. Batch
       jobs will be submitted to the batch queue for immediate execution.

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

       -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 will be mailed to
                       the user as well,  unless  redirected  elsewhere.  Mail
                       will be sent even if the job produces no output.

                       If  -m is not used, the job's standard output and stan-
                       dard error will be 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 will
                       be run. When used with the -l option, limits the search
                       to  that particular project. Values for project will be
                       interpreted first as a project name, and then as a pos-
                       sible  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 will be 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.



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 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  will
                                                submit  an  at-job  for poten-
                                                tially   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  will   be   also
                                       accepted.)  The keyword next is equiva-
                                       lent 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.

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 will
       run 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 will use
                       its value as the full path name of a template file con-
                       taining  format  strings. The strings consist of format
                       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 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
                       will be used. If it is set to a value  other  than  sh,
                       the implementation will use that shell; a warning diag-
                       nostic will be printed  telling  which  shell  will  be
                       used.



       TZ              Determine  the  timezone. The job will be submitted for
                       execution at the time specified by timespec or -t  time
                       relative  to the timezone specified by the TZ variable.
                       If timespec specifies a timezone, it will override  TZ.
                       If timespec does not specify a timezone and TZ is unset
                       or NULL, an unspecified default timezone will be used.



EXIT STATUS
       The following exit values are returned:

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



       >&gt;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 util-
                                       ities



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

   at
       tab()     allbox;     cw(2.750000i)|    cw(2.750000i)    lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE  TYPEATTRIBUTE   VALUE   AvailabilitySUNWcsu
       CSINot enabled Interface StabilityStandard


   batch
       tab()     allbox;     cw(2.750000i)|    cw(2.750000i)    lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE  TYPEATTRIBUTE   VALUE   AvailabilitySUNWesu
       CSIEnabled Interface StabilityStandard


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),
       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 will be executed eventually. When the delays are  exces-
       sive, the only workaround is to kill and restart cron.



SunOS 5.10                        11 Jan 2002                            at(1)