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] timespec...

     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,  running in a separate process group with no control-
     ling  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
     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 permit-
     ted. 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 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
           limited  to  the  lower  case  letters a through z. By
           default, at-jobs will be scheduled in queue a. In con-
           trast, 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  con-
           catenated.  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  specification 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  Coordi-
                 nated  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.  Invok-
                       ing  at  now  will  submit  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 key-
                 words in the LC_TIME locale category). Two  spe-
                 cial 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  will  be  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,  tomor-
     row, minutes, hours, days, weeks, months, years, and next.

     Since the commands run in a separate shell invocation,  run-
     ning  in a separate process group with no controlling termi-
     nal, 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 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. Exam-
     ples 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
           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 dif-
           ferent   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, midnight, now, next, today, tomor-
           row,  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 diagnostic 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.

     >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  attri-
     butes:

  at
     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|
    | CSI                         | Not enabled                 |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|

  batch
     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWesu                     |
    |_____________________________|_____________________________|
    | 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),  attributes(5),  environ(5),  stan-
     dards(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 pro-
     cessing appears to be hung. All jobs will be executed  even-
     tually.  When  the delays are excessive, the only workaround
     is to kill and restart cron.


Man(1) output converted with man2html