Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ batch(1) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

atq(1)

atrm(1)

calendar(1)

cron(1M)

crontab(1)

date(1)

environ(5)

getdate(3C)

kill(1)

mail(1)

nice(1)

ps(1)

sh(1)

sort(1)






       at(1)                                                          at(1)


       NAME
             at, batch - execute commands at a later time

       SYNOPSIS
             at [-f script] [-m] time [date] [+ increment]
             at -l [job  . . .]
             at -r job  . . .
             at -d job
             batch

       DESCRIPTION
             at and batch read commands from standard input to be executed
             at a later time.

             at allows you to specify when the commands should be executed;
             date and time are recognized according to the locale specified
             in the LC_TIME environment variable [see LANG on environ(5)],
             as described below.  Jobs queued with batch will execute when
             system load level permits.  at may be used with the following
             options:

             -f  script
                       Reads commands to be executed from the named script
                       file.

             -m        Sends mail to the user after the job has been
                       completed.  Mail is sent even if the job does not
                       produce output.  Standard output and standard error
                       output are mailed to the user unless redirected
                       elsewhere.  -m has no effect on jobs which already
                       print to standard output or standard error; the mail
                       message will not be duplicated.  The environment
                       variables, current directory, umask, and ulimit are
                       retained when the commands are executed.  Open file
                       descriptors, traps, and priority are lost.

             -l [job]  Reports all jobs scheduled for the invoking user, or
                       just the jobs specified.  When invoked by a
                       privileged user, all jobs scheduled are reported.

             -r  job   Removes specified jobs previously scheduled with at
                       for the invoking user.  When invoked by a privileged
                       user, any job previously scheduled with at is
                       removed.




                           Copyright 1994 Novell, Inc.               Page 1













      at(1)                                                          at(1)


            -d  job   Displays the contents of the specified job.

            An unprivileged user is restricted to display information only
            on jobs that the user owns and that are at the user's level.
            A user with the appropriate privileges is able to display
            information about all jobs.

            Standard output and standard error output are mailed to the
            user unless they are redirected elsewhere.  The shell
            environment variables, current directory, umask, and ulimit
            are retained when the commands are executed.  Open file
            descriptors, traps, and priority are lost.

            Users are permitted to use at if their name appears in the
            file /etc/cron.d/at.allow.  If that file does not exist, the
            file /etc/cron.d/at.deny is checked to determine if the user
            should be denied access to at.  If neither file exists, only
            root is allowed to submit a job.  If only at.deny exists and
            is empty, global usage is permitted.  The allow/deny files
            consist of one user name per line.  These files can only be
            modified by a privileged user.

            If the DATEMSK environment variable is set, it points to a
            template file that at will use to determine the valid time and
            date values instead of the values described below.  For more
            information about using DATEMSK, see the last paragraph of the
            DESCRIPTION section.

            time may be specified as follows, where h is hours and m is
            minutes: h, hh, hhmm, h: m, h: mm, hh: m, hh: mm.  A 24-hour
            clock is assumed, unless am or pm is appended to time.  If
            zulu is appended to time, it means Greenwich Mean Time (GMT).
            time can also take on the values: noon, midnight, and now.  at
            now responds with the error message too late; use now with the
            increment argument, such as: at now + 1 minute.

            An optional date may be specified as either a month name
            followed by a day number (and possibly a year number preceded
            by a comma) or a day of the week.  Month and weekday names
            used for date are recognized according to the locale specified
            in the LC_TIME environment variable [see LANG on environ(5)].
            Both the month name and the day of the week may be spelled out
            or abbreviated to three characters.  Two special ``days,''
            today and tomorrow, are recognized.  If no date is given,
            today is assumed if the given hour is greater than the current
            hour and tomorrow is assumed if it is less.  If the given


                          Copyright 1994 Novell, Inc.               Page 2













       at(1)                                                          at(1)


             month is less than the current month (and no year is given),
             next year is assumed.

             The optional increment is simply a number suffixed by one of
             the following: minutes, hours, days, weeks, months, or years.
             (The singular form is also accepted.)  Note that when
             increment is 1 minute, at displays the warning job may not be
             executed at the proper time, because the cron(1M) command's
             smallest unit is the minute; that is, an at job entered at
             12:01:45 and requested to run in one minute will run at
             12:02:00 rather than 12:02:45.  The modifier next may precede
             the increment; it means ``+ 1.''

             Thus valid commands include:

                   at 0815am Jan 24
                   at 8:15am Jan 24
                   at now + 1 day
                   at now next day
                   at 5 pm Friday

             at and batch write the job number and schedule time to
             standard error.

             at -r removes jobs previously scheduled by at or batch.  The
             job number is the number returned to you previously by the at
             or batch command.  You can also get job numbers by typing at
             -l.  You can only remove your own jobs unless you are the
             privileged user.

             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 field descriptors and
             text characters and are used to provide a richer set of
             allowable date formats in different languages by appropriate
             settings of the environment variable LC_TIME [see LANG on
             environ(5)].  [See getdate(3C) for the allowable list of field
             descriptors; this list is a subset of the descriptors allowed
             by calendar(1) that are listed on the date(1) manual page.]
             The formats described above for the time and date arguments,
             the special names noon, midnight, now, next, today, tomorrow,
             and the increment argument are not recognized when DATEMSK is
             set.





                           Copyright 1994 Novell, Inc.               Page 3













      at(1)                                                          at(1)


      EXAMPLES
            The at and batch commands read from standard input the
            commands to be executed at a later time.  sh(1) provides
            different ways of specifying standard input.  Within your
            commands, it may be useful to redirect standard output.

            This sequence can be used at a terminal:

                  batch
                  sort filename > outfile
                  CTRL-d (hold down ``control'' and press ``d'')

            This sequence, which shows redirecting standard error to a
            pipe, is useful in a shell procedure (the sequence of output
            redirection specifications is significant):

                  batch <<!
                  sort filename 2>&1 > outfile | mail loginid
                  !

            To have a job reschedule itself, invoke at from within the
            shell procedure, by including code similar to the following
            within the shell file:

                  echo "sh shellfile" | at 1900 thursday next week

            The following example shows the possible contents of a
            template file AT.TEMPL in /var/tmp.

                  %I %p, the %est of %B of the year %Y run the following job
                  %I %p, the %end of %B of the year %Y run the following job
                  %I %p, the %erd of %B of the year %Y run the following job
                  %I %p, the %eth of %B of the year %Y run the following job
                  %d/%m/%y
                  %H:%M:%S
                  %I:%M%p

            The following are examples of valid invocations if the
            environment variable DATEMSK is set to /var/tmp/AT.TEMPL.

                  at 2 PM, the 3rd of July of the year 2000 run the following job
                  at 3/4/99
                  at 10:30:30
                  at 2:30PM




                          Copyright 1994 Novell, Inc.               Page 4













       at(1)                                                          at(1)


       FILES
             /etc/cron.d       main cron directory
             /etc/cron.d/at.allow
                               list of allowed users
             /etc/cron.d/at.deny
                               list of denied users
             /etc/cron.d/queuedefs
                               scheduling information
             /var/spool/cron/atjobs
                               spool area
             /usr/lib/locale/locale/LC_MESSAGES/uxcore
                               language-specific message file [See LANG on
                               environ(5).]

       REFERENCES
             atq(1), atrm(1), calendar(1), cron(1M), crontab(1), date(1),
             environ(5), getdate(3C), kill(1), mail(1), nice(1), ps(1),
             sh(1), sort(1)






























                           Copyright 1994 Novell, Inc.               Page 5








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026