Главная страница

Лабораторная работа №7. Лабораторная работа 7 Начальная загрузка операционной системы gnu linux и периодические процессы


Скачать 62.9 Kb.
НазваниеЛабораторная работа 7 Начальная загрузка операционной системы gnu linux и периодические процессы
Дата11.01.2023
Размер62.9 Kb.
Формат файлаdocx
Имя файлаЛабораторная работа №7.docx
ТипЛабораторная работа
#881838

Лабораторная работа №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 минут.


написать администратору сайта