Часть VI. Linux на сервере
Зная формат файла crontab, мы можем отредактировать стандартную таблицу распи-
саний (см. листинг 30.1). Обратите внимание — команды, выполняемые ежедневно,
будут запускаться в 4 часа утра. Это, конечно, удобно, но они не будут выполнены,
если вы выключаете сервер на ночь. Поэтому давайте установим другое время, на-
пример 8 часов утра:
02 8
* * *
root nice -n 19 run-parts --report /etc/cron.daily
Аналогичная ситуация и с еженедельным запуском. Программы будут запущены не
только в 4:22 утра, но еще и в воскресенье. Однако на выходные вы точно выклю-
чаете свой сервер (впрочем, это зависит от политики организации — в некоторых
организациях на выходные все компьютеры и не выключают). Поэтому целесооб-
разно назначить запуск на понедельник в 8 часов 22 минуты:
22 8
* *
1 root nice -n 19 run-parts --report /etc/cron.weekly
С ежемесячным запуском вроде бы все нормально — программы будут выполнять-
ся в 4:42 первого числа каждого месяца. Хотя время лучше изменить на 8:42:
42 8 1
* *
root nice -n 19 run-parts --report /etc/cron.monthly
30.5.2. Планировщик anacron
Планировщик anacron— непосредственный родственник crond, дальнейшее его
развитие. Главное преимущество anacron заключается в том, что он, в отличие от
crond, учитывает время, когда компьютер был выключен. Планировщик crond
родом из UNIX, а эта операционная система устанавливалась только на серверах,
которые всегда включены. Предположим, что вам нужно каждый понедельник
в 7 часов утра рассылать некоторую информацию вашим сотрудникам. Вы на-
строили crond так, чтобы он запускал сценарий отправки сообщений каждый поне-
дельник в 7 утра. Но вот беда — в 6 часов утра выключили электричество, а вклю-
чили его, скажем, в 7:20. Но 7:20 — это не 7:00, следовательно, crond не выполнит
задание по отправке сообщений, а ваши сотрудники не получат важную инфор-
мацию.
Anacron работает не так. Если он обнаружил, что некоторые задания не выполнены
по тем или иным причинам (выключение электричества, перезагрузка компьютера),
он обязательно выполнит их. Поэтому ваши сотрудники получат информацию, но
с небольшой задержкой. Все же лучше, чем получить важную информацию лишь
в следующий понедельник.
Но и у anacron есть свои недостатки. В частности, пользователи не могут создавать
свои собственные расписания, а файл
/etc/anacrontab
может редактировать только
root. К тому же, более старый crond является и более гибким в настройке — напри-
мер, вы можете точно указать часы и минуты, а в случае с anacron можно задать
только период, когда будет выполнена команда.
Формат файла
/etc/anacrontab
выглядит так:
Период
Задержка
ID
Команда
Гпава 30. Оптимизация системы. Автоматизация выполнения задач
473
Do'stlaringiz bilan baham: |