The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

at (8)
  • at (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • at (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • at (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • at (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • at (1) ( POSIX man: Команды и прикладные программы пользовательского уровня )
  • >> at (8) ( Русские man: Команды системного администрирования )
  • Пользовательские команды

    at(1)

    НАЗВАНИЕ

    at, batch - выполнять команды позже

    СИНТАКСИС

    at [ -c | -k | -s ] [ -m ] [ -f файл ] [ -p проект ] [ -q очередь ]
        -t время
    at [ -c | -k | -s ] [ -m ] [ -f файл ] [ -p проект ] [ -q очередь ]
        спецификация_времени ...
    at -l [ -p проект ] [ -q очередь ] [ идентификатор_задания_at ... ]
    at -r идентификатор_задания_at ...
    batch [ -p проект ]

    ОПИСАНИЕ

        at

    Утилита at читает команды со стандартного входного потока и группирует их в виде задания at для выполнения позже, в заданное время.

    Задание at будет выполняться отдельным процессом командного интерпретатора, работающим в отдельной группе процессов без управляющего терминала, но переменные среды, текущий каталог, маска создания файла (см. umask(1)) и ограничения системных ресурсов (только для командных интерпретаторов sh и ksh, см. ulimit(1)), имеющиеся в момент вызова утилиты at, сохраняются и будут использованы при выполнении задания at.

    При посылке задания at его идентификатор и запланированное время выполнения выдаются в стандартный поток ошибок. идентификатор_задания_at - это строка, состоящая исключительно из алфавитноцифровых символов и символа точки. идентификатор_задания_at присваивается заданию системой при постановке на выполнение и является уникальным.

    Уведомление пользователя, а также обработка стандартного выходного потока и стандартного потока ошибок задания описано ниже (см. опцию -m).

    Пользователям разрешается использовать команды at и batch (см. ниже), если их регистрационные имена указаны в файле /usr/lib/cron/at.allow. Если этот файл не существует, прверяется файл /usr/lib/cron/at.deny, чтобы определить, не запрещен ли пользователю доступ к at. Если ни один из файлов не существует, посылать задание может только пользователь с привилегией solaris.jobs.user. Если существует только файл at.deny, и он пустой, использовать утилиту разрешается всем. Файлы at.allow и at.deny содержат по одному регисчтрационному имени пользователя в строке.

        batch

    Утилита batch читает команды для выполнения в дальнейшем. Она эквивалентна команде:

    at -q b -m now

    где очередь b - специальная очередь at для пакетных (batch) заданий. Пакетные задания ставятся в эту очередь для немедленного выполнения.

    ОПЦИИ

    Поддерживаются следующие опции. Если не указаны опции -c, -k или -s, используемый командный интерпретатор задает переменная среды SHELL.

    -c
    Командный интерпретатор C shell. Для выполнения задания at используется командный интерпретатор csh(1).

    -k
    Командный интерпретатор Korn shell. Для выполнения задания at используется командный интерпретатор ksh(1).

    -s
    Командный интерпретатор Bourne shell. Для выполнения задания at используется командный интерпретатор sh(1).

    -f файл
    Здает полное имя файла, используемого в качестве источника задания at вместо стандартного входного потока.

    -l (буква "эл")
    Выдает информацию о всех запланированных заданиях вызвавшего пользователя, еслне заданы операнды идентификатор_задания_at. Если идентфикаторы заданий указаны, выдает информацию только об этих заданиях.

    -m
    Посылает сообщение по электронной почте вызвавшему пользователю после запуска задания at, уведомляющее о его выполнении. Стандартный выходной поток и стандартный поток ошибок, выданные заданием at, тоже отправляютс пользователю по электронной почте, если не перенаправлены. Сообщение будет послано, даже если задание ничего не выдало в потоки.

    Если опция -m не указана, стандартный выходной поток и стандартный поток ошибок задания будут направлены пользователю по электронной почте, если не перенаправлены; если ничего в эти потоки не выдано, пользователь не уведомляется выполнении задания.

    -p проект
    Задает, в каком проекте будет выполняться задание at или batch. При использовании с опцией -l ограничивает поиск только указанным проектом. Значения параметра проект будут интерпретироваться сначала как имя, а потом как возможный идентификатор проекта, если состоят исключительно из цифр. По умолчанию используется текущий проект пользователя.

    -q очередь
    Задает, в каку очередь поставить задание для выполнения. При использовании с опцией -l ограничивает поиск указанной очередью. В качестве значений параметра очередь могут использоваться только строчные буквы от a до z. По умолчанию задания at помещаются в очередь a. Очередь b зарезервирована для пакетных заданий batch. Поскольку очередь c зарезервирована для заданий cron, ее нельзя указывать в опции -q.

    -r идентификатор_задания_at
    Удаляет задания с указанными идентификаторами_задания_at, ранее запланированные к выполнению с помощью утилиты at.

    -t время
    Посылает задание для выполнения в указанное время, которое должно задаваться в формате, определяемом утилитой touch(1).

    ОПЕРАНДЫ

    Поддерживаются следующие операнды:

    идентификатор_задания_at
    Имя, выданное при вызове утилиты at, когда задание было запланировано к выполнению.
    спецификация_времени
    Дата и время выполнения задания. Все операнды спецификация_вермени интерпретируются так, как если бы они были разделены пробелами и конкатенированы. Дата и время интерпретируются относительно часового пояса пользователя (задаваемого переменной среды TZ), если только имя часового пояса не указано в представленном ниже компоненте время.

    В локали "C" три компонента строки спецификации времени можно описать следующим образом. Все значения категорий LC_TIME в локали "C" распознаются независимо от регистра.

    время
    Время может задаваться одной, двумя или четырьмя цифрами. Одно- и двузначные числа считаются часами, а четырехзначные - часами и минутами. Время также можно задавать двумя числами через двоеточие, - часов:минут. После времени можно указывать признак времени суток (одно из значений для ключевого слова am_pm в категории локали LC_TIME). Если он не указан, время считается заданным в 24-часовом формате. Далее может быть указано имя часового пояса, GMT, UCT или ZULU (независимо от регистра), означающее, что время задано как скоординированное универсальное время (Coordinated Universal Time). Другие часовые пояса можно задавать с помощью переменной среды TZ. В поле времени в локали "C" также может указываться одна из следующих лексем:
    midnight
    Обозначает время 12:00 am (12 ночи, 00:00 - полночь).
    noon
    Обозначет время 12:00 pm (12 дня - полдень).
    now
    Обозначает текущий день и время. При постановке задания now, оно отправляется потенциально для немедленного выполнения (т.е. возможны только непредвиденные задержки в связи с выполнением других заданий).
    дата
    Необязательный параметр дата можно задавать в виде имени месяца (одно из значений ключевых слов mon или abmon в категории локали LC_TIME), за которым идет день месяца (и, возможно, год через запятую) или день недели (одно из значений ключевых слов day или abday в категории локали LC_TIME). В локали "C" распознаются две специальных даты:
    today
    Обозначает текущий день.
    tomorrow
    Обозначает следующий день.
    Если дата не задана, предполагается текущий день, если указанное время превосходит текущее, и следующий день, если не превосходит. Если указанный месяц - меньше текущего (и год не задан), предполагается следующий год.

    инкремент
    Необязательный инкремент - это число, предваренное знаком плюс (+) и снабженное одним из следующих суффиксов: minutes, hours, days, weeks, months или years. (Форма единсвенного числа, без s, тоже поддерживается.) Ключевое слово next эквивалентно инкременту + 1. Например, следующие команды эквивалентны:
    at 2pm + 1 week
    at 2pm next week
    

    ИСПОЛЬЗОВАНИЕ

    Передставленный здесь формат командной строки at гарантированно работает только в локали "C". В других локалях значения midnight, noon, now, mon, abmon, day, abday, today, tomorrow, minutes, hours, days, weeks, months, years и next не поддерживаются.

    Поскольку команды выполняются в отдельном экземпляре командного интерпретатора, работающем в отдельной группе процессов и не связанном с управляющим терминалом, дескрипторы открытых файлов, обработчики сигналов и приоритет из вызывающей среды гне наследуются.

    ПРИМЕРЫ

        at

    Пример 1: Типичный запуск с терминала

    Следующую команду можно вводить с терминала:

    $ at -m 0730 tomorrow
    sort < file >outfile
    <EOT>
    

    Пример 2: Перенаправление результатов

    Эта команда, демонстрирующая перенаправление стандартного потока ошибок по конвейеру, пригодится в комнадных файлах (порядок перенаправлений существенен):

    $ at now + 1 hour <<!
    diff file1 file2 2>&1 >outfile | mailx mygroup
    !
    

    Пример 3: Повторная постановка себя на выполнение

    Чтобы задание само поставило себя на повторное выполнение, в тексте задания можно выполнить команду at. Например, следующий "ежедневный сценарий" по имени my.daily будет выполняться каждый день (хотя для подобного рода задач лучше использовать механизм crontab):

    # my.daily выполняется каждый день
    at now tomorrow < my.daily
    daily-processing
    

    Пример 4: Различные форматы задания времени и операндов

    Три компонента спецификации времени в локали "C" позволяют эффективно его задавать, если только интерпретируются однозначно. Вот некоторые примеры указания времени выполнения задания:

    at 0815am Jan 24
    at 8 :15amjan24
    at now "+ 1day"
    at 5 pm FRIday
    at '17
    utc+
    30minutes'
    

        batch

    Пример 5: Типичный запуск с терминала

    Следующую команду можно вводить с терминала:

    $ batch
    sort <file >outfile
    <EOT>
    

    Пример 6: Перенаправление результатов

    Эта команда, демонстрирующая перенаправление стандартного потока ошибок по конвейеру, пригодится в комнадных файлах (порядок перенаправлений существенен):

    $ batch <<!
    diff file1 file2 2>&1 >outfile | mailx mygroup
    !
    

    ПЕРЕМЕННЫЕ СРЕДЫ

    Описание следующих переменных среды: LC_CTYPE, LC_MESSAGES, NLSPATH и LC_TIME, влияющих на работу команд at и batch, см. на странице справочного руководства environ(5).

    SHELL
    Задает командный интерпретатор, используемый для выполнения задания at. Если эта переменная не установлена или имеет пустое значение, будет использоваться командный интерпретатор sh. Если она имеет значение, отличное от sh, для выполнения будет использоваться соответствующий командный интерпретатор; будет выдано диагностическое сообщение, информирующее об используемом командном интерпретаторе.
    TZ
    Задает часовой пояс. Задание будет послано на выполнение в указанное спецификацией_времени или аргументом опции -t время в часовом поясе, задаваемом переменной TZ. Если в спецификации_времени указан часовой пояс, он переопределяет значение, задаваемое переменной TZ. Если в спецификации_времени часовой пояс не указан, а переменная TZ не устанволена или имеет пустое значение, будет использован неопределенный стандартный часовой пояс.
    DATEMSK
    Если переменная среды DATEMSK установлена, утилита at будет использовать ее значение как полное имя файла-шаблона, содержащего строки формата. Эти строки состоят из спецификаторов формата и текстовых символов, и используются для расширения набора допустимых форматов даты на разных языках путем соответствующих установок переменных среды LANG или LC_TIME. Список допустимых спецификаторов формата можно найти на странице справочного руководства getdate(3C). Форматы аргументов времени и даты, описанные в разделе "ОПЕРАНДЫ", специальные имена noon, midnight, now, next, today, tomorrow и аргумент инкремент не распознаются, когда установлена переменная DATEMSK.

    СТАТУС ВЫХОДА

    Команды завершаются со следующими статусами выхода:

    0 Утилита at успешно сформировала, удалила или выдала соответствующие задания.
    >0 Произошла ошибка и задание at не поставлено в очередь для выполнения.

    ФАЙЛЫ

    /usr/lib/cron/at.allow
    имена пользователей, по одному в строке, которым разрешен доступ к утилитам at и batch
    /usr/lib/cron/at.deny
    имена пользователей, по одному в строке, которым запрещен доступ к утилитам at и batch

    АТРИБУТЫ

    Описание следующих атрибутов см. на странице справочного руководства attributes(5):

        at

    ТИП АТРИБУТА ЗНАЧЕНИЕ АТРИБУТА
    Доступен в пакете SUNWcsu
    CSI Не включено

        batch

    ТИП АТРИБУТА ЗНАЧЕНИЕ АТРИБУТА
    Доступен в пакете SUNWesu
    CSI Включено

    ССЫЛКИ

    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), attributes(5), environ(5)

    ПРИМЕЧАНИЯ

    Независимо от количества используемых очередей, демон cron(1M) имеет ограничение - не более 100 выполняемых заданий в каждый момент времени.

    При выполнении заданий at демоном cron возможны задержки. В некоторых случаях, эти задержки могут достигнуть такой продолжительности, что обработка заданий cron кажется зависшей. Рано или поздно, все задания будут выполнены. При слишком продолжительных задержках остается только остановить и перезапустить демон cron.

    Последнее изменение: 10 января 2000 года

    Copyright 2002 В. Кравчук, OpenXS Initiative, перевод на русский язык


    Поиск по тексту MAN-ов: 




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру