- Настройка планировщика Cron в Linux
- Astra linux планировщик задач
- Установка Astra Linux
- Автоматизация процессов с помощью Cron
- Автоматизация процессов с помощью Bash-скриптов
- Смоленск 1.5 Выполнение скрипта по расписанию (cron) под ненулевой меткой
- oko
- Настройка планировщика Lightning
- Настройка web-сервера apache2
- Настройка планировщика
- Дополнительная настройка для работы по kerberos
Настройка планировщика Cron в Linux
Планировщик заданий является по праву одним из важных компонентов системы. По умолчанию, в дистрибутивах Linux, а также FreeBSD, используется планировщик заданий Cron. Рассмотрим как его настроить.
Настроить cron можно несколькими способами. Самый простой и быстрый — указать задание руками в файл /etc/crontab. Проблема в том, что это может сделать только пользователь root.
Структура файла /etc/crontab представляет собой последовательность установок даты и времени, имени пользователя от которого выполняется задача и явное указание исполняемого файла.
# m h dom mon dow user command
# — строка закомментирована, т.е. не выполняется планировщиком
m — минуты. Диапазон значений 0-59
h — часы. Диапазон значений 0-23.
dom — day of month — день месяца (число). Диапазон значений 1-31
mon — месяц. Диапазон значений 1-12
dow — day of week — день недели. указывается числом, где 0 — воскресенье, 6 — суббота.
user — пользователь от которого выполняется задача.
command — выполняемая задача.
Важно! Значения минут, часов, дней месяца, дней недели, а также месяца могут быть * (звездочкой) принимая все доступные значения. Также можно использовать список параметров разделенных запятой.
Примеры разберем подробнее немного позже.
Простым пользователям доступна системная утилита crontab. Для гибкости использования используются параметры:
Используется для редактирования или создания файла расписания для текущего пользователя
Вывод существующих задач в расписании пользователя
Удаление файла расписания текущего пользователя
Работа с расписаниями указанных пользователей. Выполняется только от пользователя root
Для этого в консоли пишем команду:
Запустится редактор файла используемый по умолчанию (Ubuntu — nano/vi, FreeBSD — ee), в нашем случае mcedit из пакета Midnight Commander.
Синтаксис команд идентичен как и для файла /etc/crontab, за исключением отсутствия параметра имени пользователя. Это значит, что после сохранения файла, все задачи будут выполняться от текущего пользователя.
Сохраняем файл, выходим из редактора и проверяем список заданий crontab -l.
Проверим как работает удаление файла заданий — crontab -r.
Важно! Программа не спрашивает уверены ли вы в удалении файла заданий. Если нужно удалить конкретное задание, следует использовать crontab -e.
Для администратора важно, чтобы не все пользователи могли пользоваться планировщиком. Для этих целей можно использовать файлы /etc/cron.allow и /etc/cron.deny (в некоторых дистрибутивах эти файлы должны размещаться в /etc/cton.d). По умолчанию, использование cron разрешено всем пользователям.
Примеры использования в файле /etc/crontab.
Выполнение задачи каждые 5 минут от пользователя root:
Перезагрузка сервера в 0:00 в первый день месяца (исключительно как пример):
Выполнение скрипта с понедельника по пятницу в полночь:
Ошибка в том, что скрипт будет запускаться с понедельника по пятницу каждую минуту с 0:00 по 0:59
В заданиях назначаемых через crontab -e (т.е. от текущего пользователя) не указывается параметр имени пользователя, в случае примеров — root.
На что еще следует обратить внимание:
Все пути до исполняемых файлов следует писать абсолютными.
Скрипты исполняются из корневой директории, а следовательно, при написании скрипта следует указывать рабочий каталог, либо абсолютные пути до целевых файлов (если в ходе работы скрипта генерируются файлы-отчета и им подобные)
Astra linux планировщик задач
Источник: spbit.ru Astra Linux – это операционная система, которая широко используется для решения различных задач, включая автоматизацию процессов. Для автоматизации в Astra Linux можно использовать инструменты, такие как Cron и Bash-скрипты.
Установка Astra Linux
Установка Astra Linux – первый шаг к использованию этой операционной системы для автоматизации задач. Установка Astra Linux осуществляется аналогично другим дистрибутивам Linux и не представляет сложностей для пользователей с опытом работы с Linux.
Автоматизация процессов с помощью Cron
Cron – это классический инструмент для автоматизации процессов в Linux. Cron позволяет запускать скрипты и команды по расписанию, что делает его очень удобным для регулярных задач.
Чтобы добавить задачу в Cron, вы можете использовать команду crontab -e. Эта команда откроет редактор, в котором вы можете добавить свою задачу. Задача в Crontab записывается в формате:
Где первые пять звездочек представляют минуты (0 – 59), часы (0 – 23), дни месяца (1 – 31), месяцы (1 – 12), дни недели (0 – 7, где 0 и 7 – воскресенье), а затем следует команда для выполнения.
Автоматизация процессов с помощью Bash-скриптов
Bash-скрипты – это еще один инструмент для автоматизации процессов в Astra Linux. Bash-скрипты позволяют писать сложные последовательности команд, которые затем можно запускать как единый процесс.
Создать Bash-скрипт можно с помощью любого текстового редактора. Например, для создания скрипта с именем script.sh, вы можете использовать команду nano script.sh.
В начале скрипта обычно указывается шебанг (#!/bin/bash), который указывает системе, что скрипт нужно выполнить с помощью Bash. Затем следуют команды, которые нужно выполнить.
Чтобы сделать скрипт исполняемым, используйте команду
И наконец, чтобы запустить скрипт, используйте команду
В заключение, Astra Linux предлагает мощные инструменты для автоматизации процессов. С помощью Cron и Bash-скриптов вы можете автоматизировать большинство задач, с которыми можете столкнуться в своей работе.
Смоленск 1.5 Выполнение скрипта по расписанию (cron) под ненулевой меткой
Используется Astra Linux 1.5 SE. Требуется периодически выполнять скрипт (скажем, раз в 15 минут).
Скрипт работает с файлами в домашнем каталоге пользователя.
Без МРД (под нулевой меткой) добавляю соответствующую строку в crontab для пользователя.
Под меткой 1 попытка добавить запись командой crontab даёт ошибку mkstemp в /var/spool/cron/
Запуск графической утилиты «Планировщик задач» даёт диалоговое окно с сообщением, что оно работает только под нулевой меткой.
cron вообще можно использовать под ненулевой меткой? Если нет — как выполнять задачу по расписанию?
oko
New member
А зачем вам для этого системный CRON? В Руководстве ALSE и на форуме уже обсуждались варианты добавления скриптов в автозапуск при входе пользователя в систему. Нехай он с правами пользователя в его же каталоге файлами и оперирует. Тогда никаких проблем с метками не будет.
Если же оный скрипт должен что-то периодически бэкапить из пользовательских каталогов с меткой 1 и выше в системные области, недоступные юзеру на запись, то, primo, это крайне хреновая идея сама по себе (раз уж у вас мандатная политика используется), и, secundo, нужно играться с флагами ccrn/ehole согласно Руководству. В частности, на каталоге /var/spool/cron.
UPD: Сорри, не увидел, что crontab именно юзеровский. Тогда опять-таки, можно юзать иные методы автозапуска скрипта при входе пользователя в систему (а в самом скрипте предусмотреть бесконечный цикл со sleep на нужное время). Либо юзать пользовательский CRON, но с флагами мандатной политики, разрешающими сквозную запись/чтение в /var/spool/cron. Но, поскольку это хранилище единое для всех, постольку дальнейшая эксплуатация может привести к сомнительным последствиям.
Настройка планировщика Lightning
Инструкция описывает настройку планировщика задач, работающего по сети.
Для совместного доступа к файлу планировщика используется davfs через web-сервер apache2, входящий в состав ОС.
Настройка web-сервера apache2
Для предоставления общего доступа к файлам планировщика используется протокол davfs.
Для его настройки требуется настроенный согласно документации web-сервер ( на pam или ald аутентификацию).
Прежде чем приступать к настройке davfs убедитесь что web-сервер настроен и работает:
Для этого пользователем зайдите на страницу вашего сервера. Должна отобразиться страница Index.html:
This is the default web page for this server.
The web server software is running but no content has been added, yet.
Подгружаем модуль apache2 dav_fs командой
В описании сайта виртуального хоста в файле /etc/apache2/sites-available/default
добавить строку включения поддержки dav с помощью опции DAV on
Пример части файла после изменения для pam-аутентификации:
AuthName «PAM authentication»
Options Indexes FollowSymLinks MultiViews
Создать директорию для хранения файлов планировщиков:
Перезапустить сервер apache2
Можно проверить из-под пользователя доступность страницы http://server/webdav где server — имя сервера.
Изменить права на директорию блокировок /run/lock/apache2 для полного доступа . Можно разрешить для группы или конкретных пользователей через утилиту setfacl.
Обратите внимание, что директория run создается на этапе загрузки ОС в оперативной памяти, поэтому менять права надо при каждой загрузке.
Для удобства можно поместить команду в файл /etc/rc.local
Пример файла /etc/rc.local с командой:
Настройка планировщика
Для работы планировщика необходима работающая учетная запись почты, настроенная согласно документации (по pam или ald аутентификацией).
Клиентская часть планировщика устанавливается через пакет xul-ext-lightning с зависимостями:
Запустить thunderbird и выбрать вкладку с планировщиком.
В левом столбце, где список календарей, пкм на уже созданном календаре (по-умолчанию home) — «новый календарь» (New Calendar. ).
В следующем окне выбрать тип — сетевое (locate — On The Network).
В следующем выбрать формат ICS и размещение ( Locate ) http://server/webdav/my.ics , где server — имя сервера apache, my.ics — имя файла планировщика (его можно придумать).
В последнем окне можно указать цвет и нажать ОК.
Дополнительная настройка для работы по kerberos
Если используется аутентификация в домене для почты и web-сервера, то необходимо выполнить:
запустить thunderbird
зайти в меню настроек
выбрать вкладку Дополнительные
нажать кнопку Редактор настроек
выставить для настроек — значения
закрыть настройки и перезапустить thunderbird