Инструменты пользователя

Инструменты сайта


административные_задач._печать

**Это старая версия документа!**

втоматизация задач системного администрирования с помощью планировщика

Администраторы должны уметь использовать cron или anacron для запуска задач через определенные промежутки времени, и at для запуска задач в определенное время. Эти навыки включают в себя управление задачами cron и at, а также настройку доступа пользователей к службам cron и at.

Запланированные команды

В Linux имеется возможность назначать задачи:

к определенному времени, заданному относительно,
к определенному времени, заданному абсолютно,
через определенные промежутки времени.

Выполнить команду в определенное время

Программа at позволяет отложить выполнение программы.

Время можно задать относительным или абсолютным значением: at [options]

Например: [root@test /]# at -f script now+1 minutes _# Относительное время

[root@test /]# at -f script 4pm + 3 days_ # Относительное время

[root@test /]# at -f script 10am Dec 31_ # Абсолютное время

Для вывода списка запланированных задач используется atq: atq

Эта команда отобразит все запланированные задачи текущего пользователя.

Для root, команда выдаст список запланированных задач для всех пользователей.

Для удаления запланированной задачи используется atrm: atrm [jobnumber]

Выполнение команды через определенные интервалы времени

cron – это демон общего назначения, позволяющий пользователю запланировать периодическое выполнение некоторых задач.

Программа crontab позволяет пользователю устанавливать и удалять задачи.

Например: [root@test /]# crontab - # List the crontab jobs

[root@test /]# crontab -l # View the current jobs

[root@test /]# crontab -e # To edit the job lists

[root@test /]# crontab -r # To remove the current jobs

[root@test /]# crontab filejobs # Install some scheduled jobs

cron проверяет имеются ли задачи для выполнения один раз в минуту.

cron должен быть запущен из /etc/rc или /etc/rc.local, и он ищет файл crontab в каталоге /var/spool/cron.

Файл crontab

Формат файла crontab следующий: minute hour dayofmonth month dayofweek login action

minute:0-59, hour:0-23, day_of_month:1-31, month:1-12,
day_of_week: 0-7

Первые 5 полей определяют время, в которое должна выполниться команда (при этом в дне недели 0 и 7 соответствуют воскресенью).

login существует только в общесистемном файле /etc/crontab и определяет, от чьего имени должна быть запущена команда. Если команда, указанная в расписании, выводит данные на консоль, то данный вывод будет выслан пользователю по электронной почте.

action: Строка для выполнения (команда).

Пример пользовательского файла расписания:

0,15,30,45 9-18 * * 1-5 /home/john/job.sh

0 4 1 1 * /home/john/ny.sh

50 2 7 * * ~rus/bin/tar_sdb2.sh

В этом примере скрипт job.sh выполняется по будним дням каждые 15 минут с 9 часов утра до 18 часов вечера, а скрипт ny.sh будет выполнен в 4:00 первого января,

Скрипт tar_sdb2.sh будет выполняться в 2:50 ночи 7 числа каждого месяца.

Демон cron хорошо работает в системах, которые работают постоянно.

Если компьютер выключен в момент, когда нужно запустить программу, то эта программа после включения компьютера запущена не будет.

Для решения этой проблемы существует программа anacron.

При запуске anacron читает файл /etc/anacrontab.

/etc/anacrontab: configuration file for anacron

SHELL=/bin/sh PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Список работ

1 2 cron.daily run-parts /etc/cron.daily 7 2 cron.weekly run-parts /etc/cron.weekly 30 50 cron.monthly run-parts /etc/cron.monthly

В строке с расписанием и командой четыре поля: 1-е поле.- Период - минимальное колличество дней, через которое будет выполнена комманда. 2-е поле.- Задержка- число минут от запуска anacron’a до запуска команды. 3-е поле. Идентификатор работы может быть любым, кроме пробела и символа «/».

4-е поле. Комманда. После выполнения работы anacron записывает дату в файл в каталоге /var/spool/anacron.

Имя файла соответствует идентификатору работы.

При дальнейших запусках anacron проверяет даты в этих файлах.

Работа выполняется, если с момента предыдущего запуска прошло как минимум то колличество дней, которое указано в /etc/anacrontab.

Весь вывод программы отправляется почтой пользователю запустившему anacron.

Как и cron, anacron обычно запускается автоматически, но можно и руками:

service anacron start

Можно запускать непосредственно, используя различные параметры:

anacron -s Последовательное выполнение работ (пока первая не завершилась, вторая не начнется)

anacron -f Запускать работы, даже если время выполнения еще не пришло.

anacron -n Игнорируется задержка (используется вместе с -s)

anacron -u Не выполнять команды, но обновить время выполнения в файлах /var/spool/anacron

anacron acrontabfile – использует anacrontabfile в качестве анакронтаба.

Она гарантирует, что программа будет выполнена, но не гарантирует точное время её выполнения.

Обычно anacron запускается при старте системы, проверяет, прошло ли заданное количество дней с момента последнего запуска программы, и, если необходимо, запускает указанную команду.

Ограничение пользовательского доступа к службам at и cron

Избранным пользователям можно установить разрешение или запретить использование служб at или cron.

/etc/at.allow и /etc/at.deny

Пользователи, которым разрешено (запрещено) использовать at, перечислены в файлах /etc/at.allow и /etc/at.deny, соответственно.

Если файл /etc/at.allow существует, то at могут использовать только пользователи, перечисленные в нем.

Если же файл /etc/at.allow не существует, проверяется файл /etc/at.deny.

Любому пользователю, не упомянутому в этом файле, разрешено использовать at.

/etc/cron.allow и /etc/cron.deny

Пользователи, которым разрешено (запрещено) использовать cron, перечислены в файлах /etc/cron.allow и /etc/cron.deny, соответственно.

Если файл /etc/cron.allow существует, то cron могут использовать только пользователи, перечисленные в нем.

Если же файл /etc/cron.allow не существует, проверяется файл /etc/cron.deny. Любому пользователю, не упомянутому в этом файле, разрешено использовать cron.

административные_задач._печать.1370442836.txt.gz · Последнее изменение: 2013/06/05 18:33 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux