Шрифт:
22 20 * * 0 root run-parts /etc/cron.weekly
42 20 1 * * root run-parts /etc/cron.monthly
Кроме того, может потребоваться изменить день недели для команд, которые выполняются еженедельно (в приведенных примерах задан день недели 0 = Bс, а в воскресенье компьютер может быть выключен):
22 20 * * 1 root run-parts /etc/cron.weekly
В результате команды из каталога /etc/cron.weekly будут запускаться каждый понедельник в 20 часов 22 минуты.
7.6.2.3. Сценарии
Как уже было отмечено выше, в каталоги /etc/cron* помещаются сценарии, которые нужно выполнить в указанное время. Рассмотрим шаблон типичного сценария (листинг 7.4).
Листинг 7.4. Шаблон сценария
#!/bin/bash
команды
Первая строка обязательна. После нее можно писать любые команды, которые нужно выполнить, например freshclam (используется для обновления антивирусных баз).
После того как сценарий создан, нужно сделать его выполняемым (без этого система не сможет его запустить);
# chmod + имя_файла_сценария
7.6.2.4 Пользовательские файлы crontab
Каждый пользователь может создать свой файл crontab. Для этого используется команда crontab. Пользовательские файлы crontab помещаются в каталог /var/spool, чтобы исключить их непосредственное редактирование в текстовом редакторе.
Пользовательские файлы crontab никак не влияют на общесистемный файл /etc/crontab, который редактируется только пользователем root.
7.6.3. Планировщик anacron: отдельный разговор
Как уже было отмечено, anacron - это ближайший родственник crond. Он создан для того, чтобы устранить некоторые недостатки crond. Предположим, вы хотите, чтобы антивирусная база обновлялась в понедельник, в 18.00. Но если в один прекрасный день вы еще не придете с работы в указанное время, компьютер останется выключенным и, следовательно, обновления не произойдет. В результате вы останетесь со старой базой (если, конечно, не запустите обновление вручную).
Планировщик Anacron контролирует выключения и перезагрузки компьютера, поэтому ваши задания не останутся невыполненными. Тем не менее, и у anacrontab есть недостатки,
• Пользователи не могут создавать свои расписания, системный файл /etc/anacrontab может редактировать только пользователь root.
• Планировщик crond более гибкий в настройке: вы можете указать часы и минуты, когда должна быть выполнена команда. В случае планировщика anacron можно указать только период, когда будет выполнена указанная команда, и допустимую задержку.
Формат файла /etc/anacrontab следующий: Период Задержка ID-задачи Команда
Пример файла anacrontab представлен в листинге 7.5.
Листинг 7.5. Пример файла /etc/anacrontab
# /etc/anacrontab: файл настройки для anacron
# См. anacron(8) и anacrontab(5) для более подробной инфoрмации
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# These replace cron's entries
1 5 cron.daily run-parts /etc/cron.daily
7 10 cron.weekly run-parts /etc/cron.weekly
30 75 cron.monthly run-parts /etc/cron.monthly
7.6.4. Планировщик atd
Теперь разберемся, как использовать планировщик atd - это совсем просто. Для создания нового задания используется команда:
at ‹время› [дата]
Если дата не указана, по подразумевается, что команды нужно выполнить сегодня. Время указывается в формате АМ/РМ. Например, если вам нужно выполнить команду в 9 утра, то нужно указать at 9 am. Если же нужно выполнить команду в 21.00, тогда нужно ввести команду at 9pm.
После того как, задав время, вы нажмете ‹Enter›, планировщик atd будет ждать, пока вы введете все необходимые команды, которые нужно выполнить в указанное время. Для завершения ввода перечня команд нужно нажать комбинацию клавиш ‹Clrl+D›.
Чтобы просмотреть очередь заданий, введите команду atq, a для удалении заданий используется команда atrm номер. Номер заданий можно узнать с помощью команды atq.
7.7. Система SELinux: краткое руководство