Astra linux планировщик задач

Скрипты и планировщик задач в ОС Linux

В данном посте обсуждаются базовые принципы написания скриптов и работа планировщика заданий в Oracle Linux. Рассматриваются следующие вопросы:

  • Скрипты в ОСLinux
  • Что такое планировщик заданий
  • Работа сервисаcron
  • Примеры

1. Скрипты в ОС Linux

Скрипты в ОС на базе Linux – это набор команд, записанных в файл. Это делается с целью быстрого и удобного вызова последовательности этих команд. Скрипты могут выполнять самые разные задачи – от автоматизации рутинных действий системного администратора до реализации сложных алгоритмов для ИТ инфраструктуры. При этом результаты работы команд могут служить входными данными для других задач (команд).

Для того, чтобы превратить файл с набором команд в скрипт, понадобятся две вещи. Во-первых, в первой строке пустого файла необходимо прописать путь к командной оболочке, которая будет исполнять данный файл. В большинстве дистрибутивов Linux данной оболочкой является Bash, и соответственно первой строкой будет #!/bin/bash. В других строках символ решетки используется для обозначения комментариев, которые не будут обработаны оболочкой. Однако, первая строка — это особый случай, здесь решетка, за которой следует восклицательный знак (эту последовательность называют шебанг) и путь /bin/bash, указывают системе что данный скрипт создан именно для оболочки bash. Во вторых, чтобы скрипт запустить как исполняемый файл, ему необходимо дать права на исполнение, иначе, попытка его запуска даст ошибку Permission denied.

Пример ошибки, когда запускается неисполняемый файл:

Права на исполнение даются командой chmod. Например,

chmod +x filename.sh

Данная команда дает всем пользователям операционной системы право на запуск файла с именем filename.sh

Право на запуск того же файла только владельцу можно дать следующей командой: chmod u+x filename.sh.

Расширение .sh не обязательно, но таким образом легче определять, какой файл является скриптом.

Ниже рассматривается пример написания простейшего скрипта, копирующего все файлы из папки /home/rustam/Documents в папку /tmp/backup.

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

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

Существуют два типа переменных, которые используются в bash-скриптах:

Используются при необходимости работы с системными данными в командах оболочки. Например, требуется вывести домашнюю директорию текущего пользователя. Список переменных для среды конкретного пользователя выдается командой env.

Можно использовать системную переменную $HOME в двойных кавычках, что не помешает ее распознаванию системой.

В дополнение к переменным среды, bash-скрипты позволяют задавать и использовать в скрипте свои собственные переменные. Подобные переменные хранят значение до тех пор, пока не завершится выполнение сценария. Как и в случае с системными переменными, к пользовательским переменным обращаются используя знак доллара:

Дополним соответствующим образом скрипт, написанный ранее – добавляется переменная для хранения пути к папке, в которую осуществляется копирование.

2. Что такое планировщик заданий. Работа сервиса cron.

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

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

Как и большинство других сервисов Linux, cron запускается при старте системы и работает в фоновом режиме. Его основная задача – выполнять требуемые процессы в заданное время. Существует несколько конфигурационных файлов, из которых берется информация о том, что и когда нужно выполнять. Cron открывает файл /etc/crontab, в котором указываются необходимые данные.

Читайте также:  Как продолжить загрузку windows 10

Для настройки времени, даты и интервала выполнения задания, используется специальный синтаксис файла cron и специальная команда. Не рекомендуется непосредственно редактировать файл /etc/crontab. Вместо этого используется команда crontab. Ниже запускается команда crontab с ключом –e для редактирования файла

Рекомендуется ее выполнять с опцией -e, тогда для редактирования правил используется текстовый редактор по умолчанию. После выполнения команды открывается временный файл, в котором записаны текущие правила cron и есть возможность добавлять новые. Добавленные правила запускаются именно от того пользователя, от имени которого они были добавлены.

Файлы crontab, используемые для управления работой планировщика, располагаются в каталоге /etc/cron.d/. Кроме того, в каталогах /etc/cron.daily/, /etc/cron.weekly/ и /etc/cron.monthly/ размещаются автоматически запускаемые программы (ежедневно, еженедельно или ежемесячно).

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

Таблица crontab состоит из 6 колонок, которые разделяются пробелами или табуляторами. Первые пять колонок отвечают за время выполнения, соответственно, минута, час, день месяца, месяц, день недели. В них может находиться: число, список чисел (1,2,3), диапазон чисел (1-3), символы * или /. Все остальные символы в строке интерпретируются как выполняемая команда с ее параметрами – можно указать как саму команду (например, echo “Доброе утро”), так и путь к исполняемому скрипту.

Как запускать скрипты через cron

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

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

Пример запуска ранее созданного скрипта filename.sh, который копирует файлы каждый день в 23:00:

или копирует файлы каждые 5 минут:

3. Примеры

Ниже приведены примеры настройки и работы cron:

0 17 * * 1-5 echo “Рабочий день закончен – эта надпись выводится в 17:00 с понедельника по пятницу”

15 6 * * sun echo “Выполняется в 6:15 в воскресенье”

30 12,13 * * 1,3 echo “Эта надпись выводится в понедельник и среду в 12:30 и 13:30”

Источник

Astra linux планировщик задач

Программа позволяет в графическом режиме изменять настройки демона cron. С ее помощью можно установить расписание задач: назначить выполнение программы (сценария или приложения) в установленное время, установить время прекращения выполнения назначенной программы и настроить среду ее выполнения (переменные окружения), а также разрешить или запретить выполнение уже установленной задачи. При запуске с уровнем классификационной мандатной метки, отличным от нулевого, появляется сообщение о том, что какие-либо изменения не применяются. Для выполнения привилегированных действий запрашивается авторизация.

Главное окно программы, выполняемой от имени администратора (рис. 1), содержит меню (Меню), кнопки-переключатели режима отображения расписания задач и переменных окружения (Кнопки-переключатели режима отображения), панели «Запланированные задачи» (Панель «Запланированные задачи») и «Переменные окружения» (Панель «Переменные окружения») с кнопками сопровождения.

    Меню программы содержит следующие пункты:
  • «Файл»:
    • «Загрузить» — в соответствии с установленным режимом отображения загружается файл настроек программы с расписанием задач и переменными окружения;
    • «Сохранить» — расписание задач и переменные окружения сохраняются в файле настроек программы;
    • «Выход» — если настройки не изменялись, то работа программы завершается. В противном случае открывается окно с запросом на подтверждение сохранения конфигурации:
      • [Да] — новые значения сохраняются в файле настроек программы, окно закрывается, и работа программы завершается;
      • [Нет] — окно закрывается, и работа программы завершается;
      • [Отмена] — окно закрывается;
  • «Справка»:
    • «Содержание» — вызов окна справки;
    • «О программе. » — вызов окна с краткой информацией о программе.

Кнопки-переключатели режима отображения

Кнопками-переключателями устанавливается режим отображения данных на панелях «Запланированные задачи» (Панель «Запланированные задачи») и «Переменные окружения» (Панель «Переменные окружения»).

    В режиме администратора все данные, из числа сохраняемых в файле настроек программы, доступны для редактирования, и существуют следующие режимы отображения (см. рис. 1):
  • «Показать для системы» — отображаются системные данные;
  • «Показать для пользователя» — отображаются данные, установленные для пользователя, указанного в строке справа от кнопки (устанавливается из выпадающего списка).

Панель «Запланированные задачи»

    На панели «Запланированные задачи» (см. рис. 1) в табличном виде отображается расписание задач:
  • «Пользователь» (только в режиме отображения «Показать для системы») — пользователь, от имени которого выполняется задача;
  • «Расписание» (только в режиме отображения «Показать для системы») — краткое описание начала выполнения задачи: перечисляются минуты, часы, дни месяца, месяцы и дни недели (символ * в соответствующей позиции обозначает: ежеминутно, ежечасно, каждый день, каждый месяц, каждый день недели);
  • «Команда» — имя программы, назначенной к выполнению, в рамках данной задачи;
  • «Состояние» — разрешение или запрет задачи к выполнению;
  • «Описание» — сопроводительный текст;
  • «Подробнее» — подробное описание установленного времени начала выполнения задачи (расшифровывается символ * из столбца «Расписание»).
Читайте также:  Dolby digital live linux

Щелчок левой кнопкой мыши на строке таблицы выделяет ее. Несколько строк (задач) выделяются щелчком левой кнопки мыши на каждой строке при удержании клавиши .

Время запуска установленных задач определяется по системным дате и времени.

Контекстное меню

    Щелчком правой кнопки мыши на панели «Запланированные задачи» открывается контекстное меню:
  • «Новая задача. » — открывается окно «Новая задача» (рис. 2):
  • «Команда» — в стоке или из диалогового окна устанавливается полное или относительное (если имя каталога с программой находится среди значений переменной окружения PATH) имя программы, назначенной к выполнению в рамках данной задачи, вместе, если это необходимо, со значениями аргументов и параметров ввода командной строки. Кнопками справа от строки ввода открывается диалоговое окно для выбора и установки (слева направо) имени файла или пункта главного меню (подменю) рабочего стола. После подтверждения или отмены установки имени файла или пункта меню (подменю) окно закрывается, и установленное имя файла или приложения, запускаемого из установленного пункта меню, соответственно, отображается или не отображается в строке ввода команды;
  • «Запустить как» (только при установленном режиме отображения «Показать для системы» в главном окне) — из выпадающего списка устанавливается имя пользователя от имени которого программа, назначенная в строке «Команда», запускается;
  • флаг «Графическое приложение» — при включении добавляет, а при выключении убирает выставление переменной окружения DISPLAY в строке «Команда»;
  • «Запустить как» (только в режиме отображения «Показать для системы») — из списка устанавливается пользователь, от имени которого выполняется команда;
  • «Комментарий» — устанавливается сопроводительный текст;
  • флаг «Разрешить задачу» — устанавливает разрешение или запрет команды к выполнению;
  • флаг«Запускать при загрузке системы» — устанавливает запуск команды при загрузке системы;
  • флаг «Запускать каждый день» — устанавливает ежедневный запуск команды;
  • «Месяцы» — устанавливаются месяцы запуска команды;
  • «Дни месяца» — устанавливаются дни запуска команды;
  • «Часы» — устанавливаются часы запуска команды;
  • «Дни недели» — устанавливаются дни недели запуска команды;
  • «Минуты» — устанавливаются непосредственно минуты, или из выпадающего списка «Шаблон» устанавливается минутный режим запуска команды;
  • [Да] — устанавливается новая задача в расписании, в таблице появляется соответствующая запись, и окно закрывается;
  • [Отмена] — новая задача не устанавливается, окно закрывается;
  • «Правка. » (активируется привыделении задачи в расписании на панели «Запланированные задачи») — открывается окно «Править задачу», которое содержит элементы, аналогичные элементам окна «Новая задача» (см. рис. 2), но c уже установленными для правки в позициях ввода значениями параметров задачи;
  • «Удалить» — открывается окно «Удаление задач» с запросом на подтверждение удаления выделенных задач:
    • [Да] — выделенные задачи удаляются из расписания, и окно закрывается;
    • [Нет] — окно закрывается;
  • «Вырезать» — выделенные строки таблицы расписания задач копируются в буфер обмена и удаляются из таблицы;
  • «Копировать» — выделенные строки таблицы расписания задач копируются в буфер обмена;
  • «Вставить» — строки из буфера обмена копируются в строку позиции курсора;
  • «Запустить сейчас» — открывается окно с запросом на подтверждение запуска команды, назначенной к выполнению в рамках выделенной или первой из числа выделенных в таблице расписания задач:
    • [Да] — окно закрывается, и команда начинает выполняться;
    • [Нет] — окно закрывается.
  • Кнопки сопровождения

    Кнопки сопровождения располагаются справа от панели «Запланированные задачи» (см. рис. 1) и повторяют аналогичные пункты контекстного меню (см. Контекстное меню): [Новая задача. ], [Правка. ], [Удалить], [Запустить сейчас]; [Печать. ] — открывает диалоговое окно «Печать» (Окно «Печать»).

    Читайте также:  Windows phone аккаунт войти

    Окно «Печать»

    В окне «Печать» (рис. 3) устанавливаются параметры и выполняется печать на устройстве или запись в файл (в формате PDF) расписания задач и переменных окружения, отображаемых на панелях «Запланированные задачи» и «Переменные окружения».

      Окно содержит следующие управляющие элементы:
    • поле «Принтер»:
      • «Название» — в строке из выпадающего списка доступных принтеров устанавливается имя принтера или печать в файл. Ниже, в соответствии с установками описания принтера отображаются его свойства: «Расположение» и «Тип»;
      • «Вывод в файл» — в строке ввода или с помощью кнопки вызова диалогового окна [. ] (справа от строки) устанавливается имя файла для записи. Диалоговое окно после подтверждения или отмены установки закрывается, и новое имя файла, соответственно, устанавливается или не устанавливается;
    • [Параметры»] — вид окна изменяется (рис. 4): появляются вкладки «Копии» и «Параметры», а сама кнопка заменяется на кнопку [Параметры«], которой выполняется возвращение окна к прежнему виду.

      • «Копии»:
        • поле «Диапазон печати» — кнопками-переключателями «Все», «Страницы» устанавливается печать либо всего документа, либо страниц в диапазоне номеров: «с» — начало диапазона, «по» — конец диапазона. «Список страниц» — из списка устанавливается вариант отбора страниц;
        • поле «Настройки вывода» — в числовом поле «Количество копий» устанавливается количество копий. Флаг «Обратный порядок» устанавливает печать страниц документа в обратном порядке;
      • «Параметры» (рис. 5):

        • поле «Двусторонняя печать» — кнопками-переключателями «Нет», «По длинной стороне», «По короткой стороне» устанавливается, соответственно, односторонняя печать, оборотная печать c книжной ориентацией страницы и оборотная печать с альбомной ориентацией страницы;
        • поле «Режим цвета» — кнопками-переключателями «Цвет», «Оттенки серого» устанавливается, соответственно, цветная и полутоновая (оттенки серого) печать;
    • [Печать] — выполняется печать или запись в файл, и окно закрывается;
    • [Отмена] — окно закрывается.

    Панель «Переменные окружения»

      На панели «Переменные окружения» (см. рис. 1) в табличном виде отображается перечень переменных окружения, установленных для всех задач расписания:
    • «Переменная» — имя переменной;
    • «Значение» — значение переменной;
    • «Состояние» — разрешение или запрет установки переменной;
    • «Комментарий» — сопроводительный текст.

    Щелчком левой кнопки мыши на строке таблицы она (переменная) выделяется. Несколько строк (переменных) выделяются щелчком левой кнопки мыши на каждой строке при удержании клавиши .

    Контекстное меню

      Щелчком правой кнопки мыши на панели «Переменные окружения» открывается контекстное меню:
    • «Новая переменная. » — открывается окно «Новая переменная» (рис. 6):
    • «Переменная» — в строке ввода или из выпадающего списка устанавливается переменная окружения. Переменные в списке:
      • DISPLAY — номер дисплея, на котором запускается графическая оболочка ОС;
      • LANG — локаль, с которой выполняется задача;
      • PATH — каталоги поиска программ;
      • HOME — домашний каталог пользователя;
      • MAILTO — имя пользователя, которому будет отправлено письмо, содержащее отчет о запуске задачи;
      • SHELL — интерпретатор команд, внутри которого будет запущена назначенная задача;
      • LD_CONGIG_PATH — дополнительные (помимо системных) каталоги поиска разделяемых библиотек;
    • «Значение» — устанавливается значение переменной;
    • «Комментарий» — задается сопроводительный текст;
    • флаг «Переменная разрешена» — устанавливает разрешение или запрет установки значения переменной;
    • [Да] — устанавливается значение новой переменной, и окно закрывается;
    • [Отмена] — значение новой переменной не устанавливается, окно закрывается;
  • «Правка. » — открывается окно «Править переменную». Окно содержит управляющие элементы, аналогичные элементам окна «Новая переменная» (см. рис. 6), но c уже установленными для правки в позициях ввода значениями параметров выделенной переменной;
  • «Удалить» — открывается окно «Удаление переменных» с запросом на подтверждение удаления выделенных переменных:
    • [Да] — выделенные переменные удаляются из списка переменных окружения, из таблицы удаляются выделенные строки, и окно закрывается;
    • [Нет] — окно закрывается.
  • «Вырезать» — выделенные строки таблицы переменных окружения копируются в буфер обмена и удаляются из таблицы;
  • «Копировать» — выделенные строки таблицы переменных окружения копируются в буфер обмена;
  • «Вставить» — строки из буфера обмена копируются в строку позиции курсора.
  • Кнопки сопровождения

    Кнопки сопровождения располагаются справа от панели «Переменные окружения» (см. рис. 1) и повторяют аналогичные пункты контекстного меню (см. Контекстное меню): [Новая переменная. ], [Правка. ], [Удалить].

    Источник

    Оцените статью