Создать задание на запуск программы блокнот в определенное время

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

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

Установка at

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

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

sudo apt update sudo apt install at
sudo yum install at

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

sudo systemctl enable —now atd

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

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

at [OPTION. ] runtime

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

Автоматическое выключение компьютера в определенное время?

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

at 09:00

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

warning: commands will be executed using /bin/sh at>

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

tar -xf /home/linuxize/file.tar.gz

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

at> job 4 at Tue May 5 09:00:00 2020

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

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

echo «command_to_be_run» | at 09:00

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

at 09:00 command_to_be_runEND

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

at 09:00 -f /home/linuxize/script.sh

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

at 09:00 -M

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

at 09:00 -m

batch команда

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

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

Планировщик заданий Windows — создание простого задания


echo «command_to_be_run» | 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 .

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

    Запланируйте работу на ближайшее воскресенье на время на десять минут позже текущего:
Читайте также:
Программа для устранения ошибки 43

at sunday +10 minutes
at 1pm + 2 days
at 12:30 102120
at now +1 hours

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

at -t 202005111321.32

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

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

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

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

at monday +2 hours -q L

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

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

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

9 Tue May 5 12:22:00 2020 a linuxize 12 Wed Oct 21 12:30:00 2020 a linuxize 15 Tue May 5 09:00:00 2020 a linuxize 6 Tue May 5 09:00:00 2020 a linuxize 13 Mon May 4 23:08:00 2020 a linuxize 11 Wed Jul 1 10:00:00 2020 a linuxize 4 Tue May 5 09:00:00 2020 a linuxize

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

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

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

atrm 9

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

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

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

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

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

Выводы

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

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

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

Источник: routerus.com

Пример триггера времени (создание скриптов)

В этом примере скриптов показано, как создать задачу, которая запускает Блокнот в определенное время. Задача содержит триггер на основе времени, указывающий начальную границу для активации задачи, исполняемое действие, запускающее Блокнот, и конечную границу, которая деактивирует задачу.

В следующей процедуре описывается планирование задачи для запуска исполняемого файла в определенное время.

Планирование запуска в Блокноте в определенное время

  1. Создайте объект TaskService . Этот объект позволяет создать задачу в указанной папке.
  2. Получите папку задач и создайте задачу. Используйте метод TaskService.GetFolder , чтобы получить папку, в которой хранится задача, и метод TaskService.NewTask для создания объекта TaskDefinition , представляющего задачу.
  3. Определите сведения о задаче с помощью объекта TaskDefinition . Используйте свойство TaskDefinition.Settings , чтобы определить параметры, определяющие, как служба планировщика задач выполняет задачу, и свойство TaskDefinition.RegistrationInfo для определения сведений, описывающих задачу.
  4. Создайте триггер на основе времени с помощью свойства TaskDefinition.Triggers . Это свойство предоставляет доступ к объекту TriggerCollection . Используйте метод TriggerCollection.Create (указывающий тип триггера, который вы хотите создать) для создания триггера на основе времени. При создании триггера установите начальную и конечную границы триггера, чтобы активировать и деактивировать триггер. Начальная граница указывает, когда будет выполнено действие задачи.
  5. Создайте действие для выполнения задачи с помощью свойства TaskDefinition.Actions . Это свойство предоставляет доступ к объекту ActionCollection . Используйте метод ActionCollection.Create , чтобы указать тип создаваемого действия. В этом примере используется объект ExecAction , представляющий действие, которое выполняет операцию командной строки.
  6. Зарегистрируйте задачу с помощью метода TaskFolder.RegisterTaskDefinition . В этом примере задача будет запускаться в Блокнот в текущее время плюс 30 секунд.

В следующем примере VBScript показано, как запланировать выполнение задачи в Блокноте через 30 секунд после регистрации задачи.

‘—————————————————————— ‘ This sample schedules a task to start notepad.exe 30 seconds ‘ from the time the task is registered. ‘—————————————————————— ‘ A constant that specifies a time-based trigger. const TriggerTypeTime = 1 ‘ A constant that specifies an executable action. const ActionTypeExec = 0 ‘******************************************************** ‘ Create the TaskService object. Set service = CreateObject(«Schedule.Service») call service.Connect() ‘******************************************************** ‘ Get a folder to create a task definition in.

Читайте также:
Как с компьютера подключить интернет на телефон без программ

Dim rootFolder Set rootFolder = service.GetFolder(«») ‘ The taskDefinition variable is the TaskDefinition object. Dim taskDefinition ‘ The flags parameter is 0 because it is not supported. Set taskDefinition = service.NewTask(0) ‘******************************************************** ‘ Define information about the task. ‘ Set the registration info for the task by ‘ creating the RegistrationInfo object.

Dim regInfo Set regInfo = taskDefinition.RegistrationInfo regInfo.Description = «Start notepad at a certain time» regInfo.Author = «Author Name» ‘******************************************************** ‘ Set the principal for the task Dim principal Set principal = taskDefinition.Principal ‘ Set the logon type to interactive logon principal.LogonType = 3 ‘ Set the task setting info for the Task Scheduler by ‘ creating a TaskSettings object. Dim settings Set settings = taskDefinition.Settings settings.Enabled = True settings.StartWhenAvailable = True settings.Hidden = False ‘******************************************************** ‘ Create a time-based trigger.

Dim triggers Set triggers = taskDefinition.Triggers Dim trigger Set trigger = triggers.Create(TriggerTypeTime) ‘ Trigger variables that define when the trigger is active. Dim startTime, endTime Dim time time = DateAdd(«s», 30, Now) ‘start time = 30 seconds from now startTime = XmlTime(time) time = DateAdd(«n», 5, Now) ‘end time = 5 minutes from now endTime = XmlTime(time) WScript.Echo «startTime :» endTime :» PT5M» ‘Five minutes trigger.Id = «TimeTriggerId» trigger.Enabled = True ‘*********************************************************** ‘ Create the action for the task to execute. ‘ Add an action to the task to run notepad.exe. Dim Action Set Action = taskDefinition.Actions.Create( ActionTypeExec ) Action.Path = «C:WindowsSystem32notepad.exe» WScript.Echo «Task definition created. About to submit the task. » ‘*********************************************************** ‘ Register (create) the task. call rootFolder.RegisterTaskDefinition( _ «Test TimeTrigger», taskDefinition, 6, , , 3) WScript.Echo «Task submitted.» ‘—————————————————————— ‘ Used to get the time for the trigger ‘ startBoundary and endBoundary. ‘ Return the time in the correct format: ‘ YYYY-MM-DDTHH:MM:SS. ‘—————————————————————— Function XmlTime(t) Dim cSecond, cMinute, CHour, cDay, cMonth, cYear Dim tTime, tDate cSecond = «0» 0″ 0″ 0″ 0″ «:» _ «:» «-» «-» «T» https://learn.microsoft.com/ru-ru/windows/win32/taskschd/time-trigger-example—scripting-» target=»_blank»]learn.microsoft.com[/mask_link]

Как создавать запланированные задачи с помощью командной строки в Windows 10

Windows 10 поставляется с Task Scheduler, который является продвинутым инструментом, который позволяет автоматически создавать и запускать подпрограммы. Используя этот инструмент, вы можете автоматизировать задачи для выполнения всевозможных задач, включая запуск приложения, выполнение определенной команды или выполнение сценария в определенный день и время или когда определенное условие выполняется с помощью триггеров.

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

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

  • Как создать запланированное задание с помощью командной строки
  • Как изменить запланированное задание с помощью командной строки
  • Как удалить запланированное задание с помощью командной строки

Как создать запланированное задание с помощью командной строки

Чтобы создать запланированное задание с помощью командной строки в Windows 10 , выполните следующие действия.

  1. Откройте Пуск .
  2. Найдите командную строку , щелкните правой кнопкой мыши верхний результат и выберите параметр « Запуск от имени администратора» .
  3. Введите следующую команду, чтобы создать ежедневную задачу для запуска приложения в 11:00 и нажмите Enter : Синтаксис SCHTASKS /CREATE /SC DAILY /TN «FOLDERPATHTASKNAME» /TR «C:SOURCEFOLDERAPP-OR-SCRIPT» /ST HH:MM пример SCHTASKS /CREATE /SC DAILY /TN «MyTasksNotepad task» /TR «C:WindowsSystem32notepad.exe» /ST 11:00 Совет. Путь к папке до имени задачи в параметре / TN не является обязательным, но он поможет вам отделить ваши задачи. Если вы не укажете путь, задача будет создана в папке библиотеки планировщика заданий .
  4. Введите следующую команду, чтобы создать еженедельную задачу для запуска приложения в 11:00 и нажмите Enter : Синтаксис SCHTASKS /CREATE /SC WEEKLY /D SUN /TN «FOLDERPATHTASKNAME» /TR «C:SOURCEFOLDERAPP-OR-SCRIPT» /ST HH:MM пример SCHTASKS /CREATE /SC WEEKLY /D SUN /TN «MyTasksNotepad task» /TR «C:WindowsSystem32notepad.exe» /ST 11:00
  5. Введите следующую команду, чтобы создать ежемесячную задачу для запуска приложения в 11:00 и нажмите Enter : Синтаксис SCHTASKS /CREATE /SC MONTHLY /D 15 /TN «FOLDERPATHTASKNAME» /TR «C:SOURCEFOLDERAPP-OR-SCRIPT» /ST HH:MM пример SCHTASKS /CREATE /SC MONTHLY /D 15 /TN «MyTasksNotepad task» /TR «C:WindowsSystem32notepad.exe» /ST 11:00
  6. Введите следующую команду, чтобы создать запланированное задание, которое ежедневно выполняется от имени определенного пользователя, и нажмите клавишу ВВОД : Синтаксис SCHTASKS /CREATE /SC DAILY /TN «FOLDERPATHTASKNAME» /TR «C:SOURCEFOLDERAPP-OR-SCRIPT» /ST HH:MM /RU USER-ACCOUNT пример SCHTASKS /CREATE /SC DAILY /TN «MyTasksNotepad task» /TR «C:WindowsSystem32notepad.exe» /ST 11:00 /RU admin
Читайте также:
В какой программе лучше составлять смету

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

Планировщик заданий создает параметры

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

  • / CREATE — указывает, что вы хотите создать новую автоматизированную процедуру.
  • / SC — определяет расписание для задачи. Доступные варианты включают МИНУТУ, ЧАСЫ, ЕЖЕДНЕВНО, ЕЖЕНЕДЕЛЬНО, ЕЖЕМЕСЯЧНО, ОДИН РАЗ, НАЧАЛО, ОНЛОГОН, ОДИН РАЗ и ОДНАКО.
  • / D — указывает день недели для выполнения задачи. Доступные параметры: Пн, Вт, Ср, Чт, Пт, Сб и Вс. Если вы используете опцию ЕЖЕМЕСЯЧНО, то вы можете использовать 1 — 31 для дней месяца. Кроме того, есть подстановочный знак «*», который указывает все дни.
  • / TN — указывает имя и местоположение задачи. «Задача MyTasks Notepad» использует в качестве имени задачу «Блокнот» и сохраняет задачу в папке «MyTasks». Если папка недоступна, она будет создана автоматически.
  • / TR — указывает местоположение и имя задачи, которую вы хотите запустить. Вы можете выбрать приложение или пользовательский скрипт .
  • / ST — определяет время выполнения задачи (в 24-часовом формате).
  • / QUERY — отображает все системные задачи.
  • / RU — задает задачу для запуска под определенной учетной записью пользователя.

Это лишь некоторые из доступных вариантов. Вы можете узнать больше о возможностях создания запланированного задания с помощью команды SCHTASKS /CREATE /? команда.

Как изменить запланированное задание с помощью командной строки

Чтобы изменить запланированное задание в Windows 10 с помощью командной строки, выполните следующие действия.

  1. Откройте Пуск .
  2. Найдите командную строку , щелкните правой кнопкой мыши верхний результат и выберите параметр « Запуск от имени администратора» .
  3. Введите следующую команду, чтобы изменить время запуска задачи в 9:00 и нажмите Enter : Синтаксис SCHTASKS /CHANGE /TN «FOLDERPATHTASKNAME» /ST HH:MM пример SCHTASKS /CHANGE /TN «MyTasksNotepad task» /ST 09:00
  4. Введите следующую команду, чтобы изменить информацию о пользователе задачи, и нажмите Enter : Синтаксис SCHTASKS /CHANGE /TN «FOLDERPATHTASKNAME» /RU NEW-USERNAME пример SCHTASKS /CHANGE /TN «MyTasksNotepad task» /RU admin2
  5. Введите следующую команду, чтобы отключить запланированное задание, и нажмите Enter : Синтаксис SCHTASKS /CHANGE /TN «FOLDERPATHTASKNAME» /DISABLE пример SCHTASKS /CHANGE /TN «MyTasksNotepad task» /DISABLE Подсказка: если вы хотите снова включить задачу, вы можете использовать ту же команду, но не забудьте использовать параметр /ENABLE .

После выполнения шагов задание будет изменено на указанную вами информацию.

Параметры изменения планировщика заданий

В этом руководстве мы используем следующие параметры для создания запланированного задания:

  • / CHANGE — указывает, что вы хотите редактировать существующую задачу.
  • / TN — указывает имя и местоположение задачи, которую вы хотите изменить.
  • / ST — определяет новое время для запуска автоматизированной процедуры.
  • / DISABLE — отключает задачу.

Это лишь некоторые из доступных вариантов. Вы можете узнать больше о возможностях изменить запланированное задание, используя SCHTASKS /CHANGE /? команда.

Как удалить запланированное задание с помощью командной строки

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

  1. Откройте Пуск .
  2. Найдите командную строку , щелкните правой кнопкой мыши верхний результат и выберите параметр « Запуск от имени администратора» .
  3. Введите следующую команду, чтобы удалить запланированное задание, и нажмите Enter : Синтаксис SchTask /DELETE /TX «FOLDERPATHTASKNAME» пример SCHTASKS /DELETE /TN «MyTasksNotepad task»
  4. Нажмите клавишу Y для подтверждения.

После выполнения этих действий задача будет удалена и больше не будет доступна на вашем устройстве.

Параметры удаления планировщика заданий

В этом руководстве мы используем следующие параметры для удаления запланированного задания:

  • / DELETE — указывает, что вы хотите удалить существующую задачу.
  • / TN — указывает имя и местоположение задачи, которую вы хотите удалить.
Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru