Linux-сервер своими руками
Шрифт:
Когда демон cron выполняет команду, он посылает по почте сообщение владельцу файла crontab или пользователю, указанному в переменной MAILTO файла crontab.
Программа crontab используется для редактирования файлов расписаний отдельных пользователей. Программа позволяет устанавливать, удалять, редактировать и просматривать файлы расписаний. Например, для установки файла расписаний используется команда:
Если не использовать опцию –u, то будет установлен файл расписания для пользователя, запустившего программу.
Каждый пользователь может иметь файл расписания. Для
Примечание. Последние версии демона crond используют файл /etc/cron.allow вместо файла /var/spool/cron.allow и файл/etc/cron.deny вместо файла /var/spool/cron.deny. В файле /etc/cron.allow содержится списокразрешенных пользователей, в файле /etc/cron.deny — запрещенных.
Опции программы crontab Таблица 5.3
Опция | Описание |
---|---|
– l | Выводит текущий файл расписания |
– r | Удаляет файл расписания |
– е | Вызывает редактор, указанный в переменной окружения $EDITOR для редактирования файла расписания |
Каждая строка файла расписания имеет такой формат:
Время выполнения состоит из пяти полей. В первом поле задаются минуты (0…59), во втором — часы (0…23), в третьем — день месяца (1…31), в четвертом — номер месяца (1…12), а в пятом день недели (0…6, 0 соответствует воскресенью). В любом из этих полей можно поставить звездочку, которая обозначает все возможные значения. Например, следующая запись означает, что архивирование каталога /etc будет производиться каждый день, кроме воскресенья, в семь часов утра:
В системе используется системный файл расписания — это /etc/crontab (см. листинг 5.1).
Директива run-part означает, что будут выполнены все выполняемые файлы из указанного каталога.
Еще одним способом планирования задач является использование демона atd. Этот демон используется для отложенного выполнения заданий. Для постановки заданий в очередь используются команды at и batch. Чтобы добавить задание в очередь используйте команду:
После этого введите все команды, которые хотите выполнить. Для окончания ввода
Для просмотра очереди заданий, введите команду atq. В результате будут выведены задания для пользователя, запустившего команду. При запуске программы суперпользователем будет выведен список заданий для всех пользователей. Удалить задание вы можете командой atrm.
5.5. Уровни выполнения.Программа init
ОС Linux имеет шесть уровней выполнения, а также три уровня выполнения по требованию.
Программа init переключает систему в нужный режим работы (на нужный уровень выполнения), и ее имеет право использовать только пользователь root. Для переключения на уровень n достаточно ввести команду:
Иногда, при небольшом изменении файла /etc/inittab, нужно заново перечитать таблицу инициализации (inittab). Для этого воспользуйтесь командой:
Помните, что вы в любой момент можете изменить файл /etc/inittab и перечитать его заново командой
Для перехода на первый уровень выполнения можно также использовать параметр s программы
Описание уровней приведено в табл. 5.4.
Уровни выполнения Таблица 5.4
Уровень | Описание |
---|---|
0 | Останов системы |
1 | Административный (однопользовательский) режим. Обычно используется пользователем root для восстановления системы после сбоя |
2 | Многопользовательский режим, но без использования сети |
3 | Многопользовательский режим, допускается работа в сети |
4 | Не используется |
5 | Многопользовательский режим. Поддержка сети. Автоматический запуск системы X Window |
6 | Перезагрузка системы |
Файл /etc/inittab описывает, какие процессы должны запускаться во время загрузки и на протяжении нормальной работы системы. Программа init переключает уровни выполнения системы. Корректными номерами уровней системы являются 0…6, а также А, В и С.
Каждая строка файла /etc/inittab должна быть записана в формате:
Поле «Id» (идентификатор) — уникальная последовательность из четырех символов (в старых дистрибутивах длина имени идентификатора ограничена двумя символами).
Поле «уровни выполнения» — перечень уровней выполнения, для которых будет выполнено указанное действие.
Поле «действие» — задает действие, которое будет выполнено.
Поле «процесс» — определяет процесс, который будет выполнен.
В качестве значений поля «уровни_выполнения» могут быть указаны номера уровней выполнения без каких-либо разделителей. Например, значение данного поля 1235 означает, что указанное действие будет применено к уровням 1, 2, 3 и 5. В качестве дополнительных уровней, которые называются уровнями по требованию (ondemand), могут быть указаны уровни А, В и С.