At linux удалить задание

Содержание
  1. Планирование задач при помощи программы at в Linux
  2. Использование программы at
  3. Просмотр всех запланированных задач при помощи atq
  4. Удаление запланированной задачи при помощи atrm
  5. Ограничение круга пользователей программы at
  6. At linux удалить задание
  7. Команда at в Linux
  8. Установка at
  9. Как использовать команду at
  10. batch команда
  11. Указание времени выполнения
  12. Указание очереди
  13. Список незавершенных вакансий
  14. Удаление незавершенных заданий
  15. Ограничение пользователей
  16. Выводы
  17. Планирование заданий в Linux с помощью команды at
  18. Установка по команде в Linux
  19. Начало
  20. Использование команды at в Linux для планирования заданий
  21. Пример 1. Введите время/дату, используя естественный язык
  22. Пример 2. Использование указанного времени/даты
  23. Пример 3. Просмотр всех заданий в очереди с помощью atq
  24. Пример 4. Удаление запланированного задания с помощью atrm
  25. Пример 5: использование файла для команды at
  26. Пример 6. Запуск задания, когда загрузка процессора падает ниже порогового значения.

Планирование задач при помощи программы at в Linux

В прошлой статье я рассказывал о программах cron и crontab , которые используются для планирования периодически повторяющихся действий в системе GNU/Linux.

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

Еще одной причиной использования at может быть ваше желание выполнить команду, занимающую много времени, и отключиться от сервера; программа at подойдет и для этой задачи, но я бы также порекомендовал ознакомиться со статьями о запуске команд в фоновом режиме и использовании утилиты screen .

Таким образом, главной задачей программы at является «планирование однократного исполнения задачи». В этом плане она похожа на программу cron , которая обычно используется для планирования периодически повторяющихся задач; давайте рассмотрим основные примеры использования этой программы.

Использование программы at

Просмотр всех запланированных задач при помощи atq

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

Она выведет длинный список переменных окружения для выполнения команды и саму команду:

Этот вывод позволяет гораздо лучше понять предназначение задачи.

Удаление запланированной задачи при помощи atrm

Мы научились просматривать список запланированных задач и при желании их содержимое, теперь настало время рассмотреть способ их удаления из очереди при помощи программы atrm или команды at -d для удаления определенной задачи.

Данная команда ничего не выводит в консоль, но после ее выполнения вы можете убедиться в удалении задачи при помощи команды atq .

Ограничение круга пользователей программы at

Файлы /etc/at.allow и /etc/at.deny устанавливают пользователей, которые могут планировать задачи для последующего исполнения при помощи программ at и batch . В качестве формата этих файлов используется простой список имен пользователей по одному в каждой строке. Использование пробелов в этих файлах не допускается.

Пользователь root может использовать программы at и batch при любых условиях.

Источник

At linux удалить задание

НАЗВАНИЕ
at — планирование выполнения команд в определенное время

ОПИСАНИЕ
Команда at в первом из приведенных вариантов читает со стандартного ввода задание, выполнение которого планируется на указанное время. Смысл опций двух других вариантов команды at таков:

-r Удалить задания, запланированные ранее с помощью at или batch(1), по идентификаторам_заданий. Идентификаторы сообщаются командами at и batch. Их можно узнать также по команде at -l. Только суперпользователь может удалять чужие задания.
-l Вывести информацию о запланированных заданиях по идентификаторам_заданий. Если идентификаторы не указаны, выдается список всех заданий, запланированных пользователем и еще не выполненных.

Если стандартный вывод и стандартный протокол не переназначены, то весь вывод запланированных команд пересылается пользователю по почте. Переменные окружения shell’а, текущий каталог, маска режима создания файлов и максимальный размер файлов [см. umask(1) и ulimit(1)] сохраняются, то есть задание выполняется в том же окружении, том же каталоге и т.д. Дескрипторы открытых файлов, прерывания и приоритет теряются.

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

Время может быть указано 1, 2 или 4 цифрами. Если время состоит из одной или двух цифр, то оно обозначает часы; четырехзначное число обозначает часы и минуты. Время также может быть задано как два числа, разделенные двоеточием, что понимается как часы:минуты. Могут быть добавлены суффиксы am (до полудня) или pm (после полудня), в противном случае часы указываются от 0 до 23. Если необходимо указать время по Гринвичу, то можно добавить суффикс zulu. Распознаются специальные имена noon (полдень), midnight (полночь), now (сейчас), и next (следующий).

Дата может быть указана двумя способами: во-первых, в виде названия месяца, за которым следует число [и, может быть, год (через запятую)], а во-вторых, как день недели (полностью или сокращенный до 3 букв). Распознается два специальных «дня» today (сегодня) и tomorrow (завтра). Если дата не задана, то предполагается сегодняшняя дата, если указанное время больше, чем текущее, и завтрашняя, если меньше. Если заданный месяц меньше, чем текущий и год явно не задан, то предполагается, что имеется в виду следующий год.

Дополнительная задержка представляет собой просто число, за которым следует одно из следующих слов: minutes (минуты), hours (часы), days (дни), weeks (недели), months (месяцы), или years (годы). Можно указывать единицу измерения и без числа, например at now +minutes.

Далее приведены примеры корректных команд:

Команда at выдает идентификатор задания и запланированное время его выполнения в стандартный протокол.

ПРИМЕР
Чтобы задание могло снова себя запланировать, следует вызвать at из shell-файла (назовем его sfile), включив в файл текст такого вида:

ФАЙЛЫ /usr/lib/cron Основной каталог команд, связанных со временем. /usr/lib/cron/at.allow Список пользователей, которым разрешено выполнять команды at и batch. /usr/lib/cron/at.deny Список пользователей, которым запрещено выполнять команды at и batch. /usr/lib/cron/queuedefs Информация о планировании. /usr/spool/cron/atjobs Область накопления вывода.

ДИАГНОСТИКА
Сообщается о различных синтаксических ошибках и некорректном времени, а также о том, что пользователь не имеет права выполнять команду at.

Источник

Команда at в Linux

at — это утилита командной строки, которая позволяет вам планировать выполнение команд в определенное время. Задания, созданные с помощью at , выполняются только один раз.

В этой статье мы расскажем , как использовать at и его компаньоны утилитами batch , atq , atrm просматривать, удалять и создавать новые рабочие места , которые должны выполняться в более позднее время.

Установка at

В зависимости от дистрибутива at может присутствовать или отсутствовать в вашей системе Linux.

Если at не установлен, вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.

  • Установить at Ubuntu и Debian
  • Установить at CentOS и Fedora

После установки программы убедитесь, что atd , демон планирования запущен и настроен на запуск при загрузке:

Как использовать команду at

Упрощенный синтаксис команды at выглядит следующим образом:

Команда at принимает дату и время ( runtime ), когда вы хотите выполнить задание, как параметр командной строки, и команду, которая должна быть выполнена из стандартного ввода.

Создадим задание, которое будет выполнено в 9:00:

Как только вы нажмете Enter , вам будет представлена командная строка at которая чаще всего начинается с at> . Вы также увидите предупреждение о том, в какой оболочке будет выполняться команда:

Введите одну или несколько команд, которые хотите выполнить:

Когда вы закончите вводить команды, нажмите Ctrl-D чтобы выйти из подсказки и сохранить задание:

Команда отобразит номер задания, время и дату выполнения.

Есть и другие способы , чтобы пройти команду , которую вы хотите запустить, помимо ввода команды в at строке. Один из способов — использовать echo и направить команду по at :

Другой вариант — использовать здесь документ :

Чтобы читать команды из файла вместо стандартного ввода, вызовите команду с параметром -f путь к файлу. Например, чтобы создать задание, которое будет запускать скрипт /home/linuxize/script.sh :

По умолчанию, если команда производит вывод, at отправит электронное письмо с выводом пользователю после завершения задания. Invoke at с -M опцией для подавления уведомлений по электронной почте:

Используйте -m чтобы отправить электронное письмо, даже если нет вывода:

batch команда

batch или его псевдоним at -b планирует задания и выполняет их в пакетной очереди, если позволяет уровень загрузки системы. По умолчанию задания выполняются, когда средняя загрузка системы ниже 1,5. Значение нагрузки можно указать при вызове демона atd . Если средняя загрузка системы выше указанной, задания будут ждать в очереди.

Чтобы создать batch задание, передайте команды, которые хотите выполнить:

Указание времени выполнения

Утилита at поддерживает широкий диапазон временных характеристик. Вы можете указать время, дату и приращение от текущего времени:

  • Время — чтобы указать время, используйте форму HH:MM или HHMM . Чтобы указать 12-часовой формат времени, используйте am или pm после времени. Вы также можете использовать такие строки, как now , midnight , noon или teatime (16:00). По истечении указанного времени задание будет выполнено на следующий день.
  • Дата — команда позволяет запланировать выполнение задания на заданную дату. Дату можно указать, используя название месяца, за которым следует день и (необязательно) год. Вы можете использовать строки, например, today , tomorrow или будний день. Дата также может быть указана в MMDD[CC]YY , MM/DD/[CC]YY , DD.MM.[CC]YY или [CC]YY-MM-DD .
  • Increment — at также принимает приращения в формате now + count time-unit , где count — это число, а time-unit может быть одной из следующих строк: minutes , hours , days или weeks .

Время, дату и приращение можно комбинировать, вот несколько примеров:

  • Запланируйте работу на ближайшее воскресенье на время на десять минут позже текущего:
  • Запланируйте запуск задания на 13:00 через два дня:
  • Запланируйте запуск задания на 12:30 21 октября 2020 г .:
  • Запланируйте запуск задания через час:

Вы также можете указать время и дату в [[CC]YY]MMDDhhmm[.ss] используя параметр -t . Вот пример:

Указание очереди

По умолчанию задания, созданные с помощью at , планируются в очереди с именем a а задания, созданные с помощью batch , планируются в очереди b .

Запросы могут иметь имена от a до z и от A до Z Очереди с меньшими буквами работают с меньшей аккуратностью, что означает, что они имеют приоритет над очереди с более высокими буквами.

Вы можете указать очередь с помощью опции -q . Например, чтобы установить задание в L очередь, вы должны запустить:

Список незавершенных вакансий

Чтобы вывести список ожидающих заданий пользователя, выполните atq или at -l :

В выводе будут перечислены все задания, по одному в каждой строке. Каждая строка включает номер задания, дату, время, букву очереди и имя пользователя.

Когда atq вызывается от имени администратора, он перечисляет ожидающие задания всех пользователей.

Удаление незавершенных заданий

Чтобы удалить отложенное задание, atrm команду atrm или at -r после которой atrm номер задания. Например, чтобы удалить задание с номером девять, вы должны запустить:

Ограничение пользователей

/etc/at.deny и /etc/at.allow позволяют контролировать, какие пользователи могут создавать задания с помощью команды at или batch . Файлы состоят из списка имен пользователей, по одному имени пользователя в строке.

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

Если файл /etc/at.allow существует, только пользователи, перечисленные в этом файле, могут использовать команду at .

Если ни один из файлов не существует, только пользователи с правами администратора могут использовать команду at .

Выводы

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

Для получения дополнительной информации обо всех доступных параметрах команды at введите man at в вашем терминале.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии.

Источник

Планирование заданий в Linux с помощью команды at

Главное меню » Linux » Планирование заданий в Linux с помощью команды at

Это можно сравнить с концепцией Crontab в Linux, которая является лучшим способом автоматизации повторяющихся задач.

В этой статье мы покажем, как вы можете использовать команду «at» для планирования выполнения задач и команд на определенное время в будущем.

Установка по команде в Linux

Прежде чем начать, вы должны проверить, установлено ли «at» в вашей системе. Он не установлен по умолчанию во всех операционных системах.

Вы можете проверить это, набрав:

Если программное обеспечение уже установлено, вернется номер версии. Если нет, его можно установить в системах на основе Debian, набрав:

Если вы используете другой дистрибутив Linux, то вам, возможно, придется изменить эту команду, чтобы отразить менеджер пакетов, используемый вашим дистрибутивом.

Начало

Утилита at на самом деле представляет собой серию команд, которые работают вместе для планирования заданий. Как мы уже упоминали, at предпочтительнее для ситуаций, когда ваша задача больше «одноразовая», чем повторяющееся событие.

Мы составили таблицу с некоторыми основными командами, связанными с at.

команда функция
at позволяет пользователю планировать задачу
atq выводит список заданий в очередь для вошедшего в систему пользователя или всех пользователей, если они запускаются как sudo
atrm удаляет задания по указанному номеру задания
batch указывает системе запускать задание только в указанное время, если загрузка системы находится на определенном уровне (средняя загрузка

Использование команды at в Linux для планирования заданий

Использование at имеет свой уникальный формат. Когда вы хотите запланировать работу, вы наберете в свой терминал:

Время является обязательным, но дата является необязательной. Если ничего не введено, будет сделано предположение на основе текущей даты и системного времени.

Когда вы нажмете Enter, вам будет предложено ввести команды. Вы можете ввести столько, сколько хотите. Введите Ctrl + D, чтобы сохранить и выйти.

Позвольте нам показать это вам с примерами.

Пример 1. Введите время/дату, используя естественный язык

У вас есть много разных вариантов ввода времени. В отличие от crontab с его довольно сложной системой, основанной на звездочках, «at» распознает «человеческий» ввод более эффективно.

Есть много человеческих подобных выражений, которые могут быть поняты с помощью программного обеспечения. Многие из них зависят от региона. Он может распознавать такие распространенные выражения, как «полночь» или «полдень». Он также может различать AM и PM. Кроме того, он может распознавать различные форматы для дней и дат, включая сокращения.

Он также может использовать выражение «сейчас». Вы можете просто ввести команду, как показано ниже, и она будет запущена через 5 минут.

Скорее всего, вы можете игнорировать предупреждение о bin /sh . Это может вызвать головную боль, если вы используете другую оболочку . Подавляющее большинство дистрибутивов Linux поставляются с bash, поскольку системная оболочка обозначается как «sh» … Это долгая история.

Итак, прошло около минуты, верно? Проверьте каталог для нового файла.

У вас должен быть файл с именем ‘message.txt’, содержащий наш текст.

Выглядит хорошо, но правильно ли он запечатлел наше сообщение? Давайте посмотрим содержимое файла :

Пример 2. Использование указанного времени/даты

Для своей первой работы вы использовали «относительное» время «now + [time]». Это очень простой способ составить график работы, но вам может потребоваться конкретнее.

На этот раз давайте наметим 2 задания в разное время.

Вы можете использовать файл message.txt (созданный в предыдущем примере) для демонстрации. Каждое задание заменит содержимое файла.

Вы можете проверить текущее время в вашей системе Linux с помощью команды date.

Настройте первую работу на определенное время (через 5 минут):

Настройте второе задание на определенное время (через 10 минут):

Проверьте в 3:45:

Проверьте в 3:50:

Пример 3. Просмотр всех заданий в очереди с помощью atq

В любое время вы можете проверить запланированные задания с помощью команды atq. В нем будут перечислены все текущие запланированные задания для пользователя, вошедшего в систему. Чтобы просмотреть все задания в системе, вам может потребоваться использование повышенных привилегий.

Каждое задание идентифицируется по идентификатору задания, назначенному времени и связанному пользователю.

Вы также можете просмотреть содержимое запланированного задания с опцией -c:

Пример 4. Удаление запланированного задания с помощью atrm

Если вы решите отменить задание до его выполнения, это можно сделать, набрав команду с соответствующим идентификатором задания (который можно получить с помощью команды atq).

Как видите, задание 11 было удалено из очереди.

Пример 5: использование файла для команды at

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

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

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

Вы поняли идею. Итак, теперь вы можете добавить -f к команде ‘at’ и включить имя файла после:

Пример 6. Запуск задания, когда загрузка процессора падает ниже порогового значения.

Пакетные задания будут выполняться, когда средняя загрузка ЦП по умолчанию опустится ниже 1,5.

Метод ввода пакетных заданий идентичен «at», за исключением того, что ему не нужно указывать время.

Если вы хотите изменить порог загрузки, вы можете сделать это с помощью следующей команды:

Где n – это порог загрузки, который вы хотите выбрать. Страница man рекомендует вам изменить его на значение выше n-1, где n – это количество процессоров в вашей системе .

Вывод

Спасибо за прочтение. Мы надеемся, что ваше понимание команды улучшилось. Если у вас есть какие-либо вопросы или вы хотите поделиться тем, как вы используете эту команду, сообщите нам! Оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Читайте также:  Directx все пакеты для windows 10 x64
Оцените статью