Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.

AT(1)                       General Commands Manual                      AT(1)

     at, batch, atq, atrm - queue, examine or delete jobs for later execution

     at [-bdlmrVv] [-f file] [-q queue] -t [[CC]YY]MMDDhhmm[.SS]
     at [-bdlmrVv] [-f file] [-q queue] time
     at [-V] -c job [job ...]
     atq [-Vv] [-q queue]
     atrm [-V] job [job ...]
     batch [-mVv] [-f file] [-q queue] [-t [[CC]YY]MMDDhhmm[.SS]]
     batch [-mVv] [-f file] [-q queue] [time]

     at and batch read commands from standard input or a specified file which
     are to be executed at a later time, using sh(1).

     at      Executes commands at a specified time.

     atq     Lists the user's pending jobs, unless the user is the superuser.
             In that case, everybody's jobs are listed.

     atrm    Deletes jobs.

     batch   Executes commands when system load levels permit.  In other
             words, when the load average drops below 1.5, or the value
             specified in the invocation of atrun(8).

     at allows some moderately complex time specifications.  It accepts times
     of the form HHMM or HH:MM to run a job at a specific time of day.  (If
     that time is already past, the next day is assumed.)  You may also
     specify `midnight', `noon', or `teatime' (4pm) and you can have a time-
     of-day suffixed with `AM' or `PM' for running in the morning or the
     evening.  You can also say what day the job will be run, by giving a date
     in the form %month-name day with an optional year, or giving a date of
     the form MMDDYY or MM/DD/YY or DD.MM.YY.  The specification of a date
     must follow the specification of the time of day.  You can also give
     times like [now] or [now] `+ count %time-units', where the time-units can
     be `minutes', `hours', `days', `weeks', `months', or `years' and you can
     tell at to run the job today by suffixing the time with `today' and to
     run the job tomorrow by suffixing the time with `tomorrow'.

     For example, to run a job at 4pm three days from now, you would do
           at 4pm + 3 days,
     to run a job at 10:00am on July 31, you would do
           at 10am Jul 31
     and to run a job at 1am tomorrow, you would do
           at 1am tomorrow.

     Alternatively the time may be specified in a language-neutral fashion by
     using the -t options.

     For both at and batch, commands are read from standard input or the file
     specified with the -f option and executed.  The working directory, the
     environment (except for the variables TERM, TERMCAP, DISPLAY and _) and
     the umask are retained from the time of invocation.  An at or batch
     command invoked from a su(1) shell will retain the current userid.  The
     user will be mailed standard error and standard output from his commands,
     if any.  Mail will be sent using the command sendmail(1).  If at is
     executed from a su(1) shell, the owner of the login shell will receive
     the mail.

     The superuser may use these commands in any case.  For other users,
     permission to use at is determined by the files /var/at/at.allow and

     If the file /var/at/at.allow exists, only usernames mentioned in it are
     allowed to use at.

     If /var/at/at.allow does not exist, /var/at/at.deny is checked; every
     username not mentioned in it is then allowed to use at.

     If neither exists, only the superuser is allowed use of at.

     An empty /var/at/at.deny means that every user is allowed use these
     commands.  This is the default configuration.

           -b          Is an alias for batch.

           -c          Cats the jobs listed on the command line to standard

           -d          Is an alias for atrm.

           -f file     Reads the job from file rather than standard input.

           -l          Is an alias for atq.

           -m          Send mail to the user when the job has completed even
                       if there was no output.

           -q queue    Uses the specified queue.  A queue designation consists
                       of a single letter.  Valid queue designations range
                       from `a' to `z' and `A' to `Z'.  The `c' queue is the
                       default for at and the `E' queue for batch.  Queues
                       with higher letters run with increased niceness.  If a
                       job is submitted to a queue designated with an
                       uppercase letter, it is treated as if it had been
                       submitted to batch at that time.  If atq is given a
                       specific queue, it will only show jobs pending in that

           -r          Is an alias for atrm.

           -t          For both at and batch, the time may be specified in a
                       language-neutral format consisting of:
                             CC      The first two digits of the year (the
                             YY      The second two digits of the year.  If YY
                                     is specified, but CC is not, a value for
                                     YY between 69 and 99 results in a CC
                                     value of 19.  Otherwise, a CC value of 20
                                     is used.
                             MM      The month of the year, from 01 to 12.
                             DD      The day of the month, from 01 to 31.
                             hh      The hour of the day, from 00 to 23.
                             mm      The minute of the hour, from 00 to 59.
                             SS      The second of the minute, from 00 to 61.

           -V          Prints the version number to standard error.

           -v          For atq, shows completed but not yet deleted jobs in
                       the queue.  Otherwise shows the time the job will be

     /var/at/jobs       Directory containing job files
     /var/at/spool      Directory containing output spool files
     /var/run/utmp      Login records
     /var/at/at.allow   Allow permission control
     /var/at/at.deny    Deny permission control
     /var/at/.lockfile  Job-creation lock file.

     nice(1), sendmail(1), sh(1), umask(2), atrun(8), cron(8)

     The at and batch utilities conform to IEEE Std 1003.2-1992 ("POSIX.2").

     at was mostly written by Thomas Koenig <ig25@rz.uni-karlsruhe.de>.  The
     time parsing routines are implemented by David Parsons

     If the file /var/run/utmp is not available or corrupted, or if the user
     is not logged on at the time at is invoked, the mail is sent to the
     userid found in the environment variable LOGNAME.  If that is undefined
     or empty, the current userid is assumed.

     at and batch as presently implemented are not suitable when users are
     competing for resources.  If this is the case for your site, you might
     want to consider another batch system, such as nqs.

NetBSD 10.99                    March 10, 2008                    NetBSD 10.99