Лабораторная работа №7. Лабораторная работа 7 Начальная загрузка операционной системы gnu linux и периодические процессы
Скачать 62.9 Kb.
|
Лабораторная работа №7 Начальная загрузка операционной системы GNU Linux и периодические процессы. Цель работы: Получение навыков написание стартовых скриптов для управления процессами, старт и завершение которых происходит вместе с ОС Linux. Использование системы cron. Теоретические сведения В системе Unix для обеспечения запуска системных и прикладных процессов при старте системы используются системы инициализации типа System V, также возможно использования сходных по функционалу других реализаций. Для управления процессом запуска в различных режимах имеется несколько уровней запуска, при переходе в каждый из уровней осуществляется запуск скриптов из соответствующей директории, с действием, которое происходит (старт или стоп). Для упрощения написания стартовых скриптов имеется возможность использовать пустой файл с уже заданной структурой и форматом имени файла. Такой файлшаблон называется skeleton, его пример содержится на рисунке 1 ниже: Рисунок 1 - Файл-шаблон для создания стартового скрипта Описанные в заголовке параметры имеют специальное назначение [skeleton] и указывают на условия, при которых происходит запуск этого стартового скрипта. При написании своего собственного скрипта нужно его логические элементы вставить в соответствующие разделы файла. Таким образом получается единообразная и упорядоченная структура каждого файла запуска и обработка демоном init происходит в нужном порядке и с нужными параметрами. После этого необходимо поместить файл в директорию /etc/init.d и при помощи команды (рисунок 2), добавить в автозагрузку, которая создаст соответствующие ссылки на стартовый скрипт из директорий соответствующих уровней запуска. Рисунок 2 - Команда для обновления ссылок на стартовые скрипты В последних версиях операционных систем Linux все чаще встречается реализация с использованием демона systemd. Его концепция несколько отличается от уровней запуска, хотя и предполагается обратная совместимость скриптовой базы. Первое отличие systemd от традиционного подхода заключается в использовании концепции юнитов – отдельных конфигурационных файлов для каждого аспекта работы сервиса. Типы юнитов бывают: системный сервис, точка автомонтирования, файл устройства и т.д. Сервисные юниты типа service являются аналогами стартовых скриптов System V. Первое различие заключается в расширении системы уровней запуска до целей запуска - targets. С целью обратной совместимости существуют цели, соответствующие семи уровням запуска с 0 до 6. Файлы целей позволяют группировать вместе юниты, используя цепочки зависимостей. Такой подход является гораздо более гибким по сравнению с уровнями запуска. Демон systemd также включает в себя возможности по управлению удаленным узлом посредством протокола ssh. Пример описания сервисного юнита системы регистрации событий представлен на рисунке 3. Рисунок 3 - Описание сервисного юнита для системы регистрации событий Для запуска различных процессов по расписанию используется системный демон cron. Он позволяет задавать расписание для запуска пользовательских и системных программ. Конфигурационный файл представляет собой набор команд с указанием времени их периодического запуска. Каждая строка имеет вид, показанный на рисунке 4. Рисунок 4 - Конфигурационный файл демона cron В начале строки указывается действующее расписание для запуска скрипта, во второй части - строка запуска команды. Расписание имеет вид минуты, часы, день, месяц, день недели. Первые пять столбцов имеют в качестве разделителя пробел, в то время как в команде в качестве разделителей используются стандартные разделители аргумента. На рисунке 4 расписание интерпретируется как запуск скрипта обновления в 05:00 каждый понедельник. Для просмотра конфигурационного файла cron можно воспользоваться командой crontab -l, она покажет расписание для текущего пользователя. Для изменения необходимо запустить команду crontab с ключом e, в таком случае будет запущен текстовый редактор по умолчанию для внесения изменений. Командные строки обрабатываются с использование командного интерпретатора sh, поэтому их вид должен быть соответствующим. Предназначение демона cron обычно связывается с необходимостью запуска периодических задач, необходимых для выполнения обслуживания системы, например: чистка файловой системы, обновление системы, циклическое использование файлов журналов, синхронизация версий файлов, резервное копирование и т.п. Порядок выполнения работы 1. Написать стартовый сценарий, который запускается последним при переходе на режим выполнения в однопользовательском режиме. Стартовый сценарий обязан поддерживать параметры остановки и запуска. 2. В среде, содержащей систему systemd, описать новый тестовый системный юнит, который запускается после монтирования всех файловых систем и сохраняет список смонтированных систем и время в файл журнала. 3. Создать тестовый скрипт и обеспечить его выполнения по расписанию каждую пятницу 2 недели каждого месяца в 01 часов 12 минут. |