at(1)									at(1)



NAME
  at, batch - Runs commands at a later time

SYNOPSIS

  at [-c | -s | -k] [-m] [-f file] [-q queuename] time [date] [+increment]
       [command | file] ...

  at [-c | -s | -k] [-m] [-f file] [-q queuename] -t [[cc]yy]MMddhhmm[.ss]

  at -l -o [-q queuename] [user ...]

  at -l [job_number]

  at -r [-Fi] job_number ...  | [-u user]

  at -n [user]

  batch

  The at and batch commands read from standard input or accept as arguments
  the names of commands to be run at a later time.  The at command allows you
  to specify when the commands are to be run.  The batch command runs jobs
  when the system load level permits.

DESCRIPTION

  Both at and batch mail you the standard output and standard error from the
  scheduled commands, unless you redirect that output.	They also write the
  job number and the scheduled time to standard error.

  If a filename specified on an at command line is executable (that is, has
  the x permission for the user in question), at assumes that it is a command
  and the job consists of this command only.  If the file is not executable,
  at assumes that you want its contents to be the instructions for the job
  (same as BSD at).  If at cannot find the file at all, the specification is
  passed to the date parser.  If the specification is not recognized by the
  date parser, the user receives the error Unknown word.

  The at command defaults to the Bourne shell. Use the -c option to specify
  the cshell, or the -k option to specify the Korn shell. Variables in the
  shell environment, the current directory, umask, and ulimit are retained
  when the commands run. The value of SHELL is set to be consistent with the
  shell actually used. Open file descriptors, traps, and priority are lost.

  You can use at if your login name appears in the /usr/lib/cron/at.allow
  file, if that file exists, or if there is no at.allow file and your name is
  not in the /usr/lib/cron/at.deny file.  The at.allow and at.deny files con-
  tain one username per line. Note that /usr/lib/cron is symbolically linked
  to /var/adm/cron.

  If neither the at.allow nor the at.deny file exists, only someone with root
  user authority can submit a job.

  To allow global access to at, the system administrator can remove the
  at.allow file and create a zero-length at.deny file.

  The required time argument can be one of the following:

   1.  A number followed by an optional suffix.	 at interprets 1- and 2-digit
       numbers as hours.  It interprets 4 digits as hours and minutes.	The
       LC_TIME environment variable specifies the order of hours and minutes.
       The default order is the hour followed by the minute.  You can also
       separate hours and minutes with a : (colon).  The default order is
       hour:minute.  In addition, you can specify a suffix of am, pm, or
       zulu.  If you do not specify am or pm, at uses a 24-hour clock.	The
       suffix zulu indicates that the time is UTC (Coordinated Universal
       Time).

   2.  The at command also recognizes the following keywords as special
       times:  noon, midnight, now, A for a.m., P for p.m., N for noon, and M
       for midnight.  The time argument specifies a time in the future.	 For
       example, if the current time is 9:02 p.m., and you specifiy a time of
       9P, the command is executed at 9 p.m. the next day.  However, if the
       current time is 8:58 p.m. and you specify 9P, the command is executed
       in two minutes.	The LC_TIME environment variable controls the key-
       words that at recognizes.   Keywords are defined on a locale basis,
       however, none of the locales shipped with the base operating system
       use this feature.  All locales use English names for the keywords.

  You can specify the date argument as either a month name and a day number
  (and possibly a year number preceded by a comma), or a day of the week.
  The LC_TIME environment variable specifies the order of the month name and
  day number (by default, month followed by day).  at recognizes two special
  days, today and tomorrow by default.	today is the default date if the
  specified time is later than the current hour; tomorrow is the default if
  the time is earlier than the current hour.  If the specified month is less
  than the current month (and a year is not given), next year is the default
  year.

  The optional increment can be one of the following:

    +  A + (plus sign) followed by a number and one of the following words:
       minute[s], hour[s], day[s], week[s], month[s], year[s] (or their non-
       English equivalents).

    +  The special word next followed by one of the following words:
       minute[s], hour[s], day[s], week[s], month[s], year[s] (or their non-
       English equivalents).

  Job numbers are specified as follows:

  user.xxxxxxxxx.y

  The user argument identifies the user who scheduled the job.	xxxxxxxxx is
  a 9-digit number (encoded time for the job).	y indicates the job type or
  queue name as follows:

  Argument  Job Type

  a	    at job

  b	    batch job

  e	    ksh job

  f	    csh job


FLAGS

  -c  Requests that csh be used for executing this job.

  -f file
      Specifies the file to be used as input instead of stdin.

  -F  Suppresses delete verification.

  -i  Specifies interactive delete.

  -k  Requests that ksh be used for executing this job.

  -l [user ...]
      Reports your scheduled jobs.  If the root user issues the command with
      this flag, all of the queued at commands are listed with the name of
      the user who issued each one.  The root user can also request a report
      of scheduled jobs for the specified user only.

  -m  Mails a message about the successful execution of the command.  (This
      is the default.)

  -n [user]
      Requests the number of files in the queue for the current user.  The
      root user can specify a different user with the user argument.

  -o  Lists jobs in scheduled order.  This flag is useful only when used with
      the -l flag.

  -q queuename
      Specifies the queue you want to use.  When used with the -l flag, lim-
      its the search to the specified queue.  A queue name can be specified
      by a, b, e, or f, as described in the DESCRIPTION section.

  -r job_number ...
      Removes a job previously scheduled by at or batch, where job_number is
      the number assigned by at or batch.  If you do not have root user
      authority, you can remove only your own jobs.  The atrm command is
      available to the root user to remove jobs issued by other users or all
      jobs issued by a specific user.  This flag can be used in combination
      with the -i, -f, and -u flags.

  -s  Requests that the Bourne shell be used for executing this job
      (default).

  -t time
      Submits the job to be run at the specified time.	(See the SYNOPSIS
      section for the correct time format.)

  -u user
      Deletes all jobs for the specified user.	This flag must be used with
      the -r flag as follows:
	   at -r -u user


EXAMPLES

   1.  To schedule a command from a terminal, enter a command similar to one
       of the following:
	    at 5 pm Friday uuclean
	    at now next week uuclean
	    at now + 2 days uuclean


       Note that the preceding commands can be scheduled as shown only if
       uuclean is in the current directory.

   2.  To run uuclean at 3:00 in the afternoon on January 24, enter any one
       of the following commands:
	    echo  uuclean  |  at  3:00	pm  January  24
	    echo  uuclean  |  at  3pm  Jan  24
	    echo  uuclean  |  at  1500	jan  24


   3.  To list the jobs you have sent to be run later, enter:
	    at	-l


   4.  To cancel jobs, enter:
	    at	-r  julie.586748399.a


       This cancels job julie.586748399.  Use at -l to list the job numbers
       assigned to your jobs.

   5.  To execute a command when the system load level permits, enter:
	    batch
	    nroff infile > outfile
	    


       where  is the End-of-File character.

  CAUTIONS


       It is recommended that you not use unspecified queues (queues other
       than a, b, e, f).  The results are unspecified.

FILES

  /var/adm/cron
	       Main cron directory.

  /var/adm/cron/at.allow
	       List of allowed users.

  /var/adm/cron/at.deny
	       List of denied users.

  /var/spool/cron/atjobs
	       Spool area.

RELATED INFORMATION

  Commands: atq(1), atrm(1), csh(1), cron(8), kill(1), mail(1)/binmail(1),
  ksh(1), mailx(1)/Mail(1), nice(1), ps(1), sh(1).

  System Administration

  Network Configuration

  Command and Shell User's Guide