Как выполнить задачу по расписанию в Linux.

Автор: Admin

Дата:2010-02-11

Crontab

Для таких целей в Linux имеется crontab. Он запускает ваши скрипты на выполнение в указанное время.
В системе имеется главный файл (назовем его так) crontab, который запускает на выполнение скрипты Linux.

Настройка crontab

Откроем этот файл.
vi /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
В этих папках (/etc/cron.*) есть скрипты, которые будут запущены, в зависимости от времени указанного в левой части.
Например запись 42 4 1 * * root run-parts /etc/cron.monthly --> выполняется 1-го числа каждого месяца в 4 часа 42 минуты.


Синтаксис crontab

* * * * *
* * * * * День недели (от 0 до 6, где 6 = воскресенье, можно задавать как цифрами так и tue thu)
* * * * * Месяц (от 1 до 12)
* * * * * День месяца (от 1 до 31)
* * * * * Час (от 0 до 23)
* * * * * Минута (от 0 до 59)

Создадим запись crontab

Здесь мы создадим свой файлик crontab.
Для этого необходимо открыть его на запись при помощи crontab -e
Вставить запись
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
10 6 * * 0 /root/sh/rsync-wek.sh

В результате получили выполнение скрипта (по адресу /root/shrsync-wek.sh) каждое воскресенье в 6 часов 10 минут.
Cкрипт rsync-wek.sh должен иметь права на выполнение.


Примеры crontab

*/2 * * * * каждые 2 минуты
2 * * * * каждый час на 2 минуте (в 1 час и 2 минуты в 2часа и 2 минуты и т.д.)
2 * * * 0 будет выполняться на протяжении всего воскресенья каждый час на 2 минуте.
0 0 1 1 * каждый год 31 декабря в 0 часов 0 минут.

Удалить запись crontab -r
Просмотреть crontab -l
crontab -e изменить.
Записи будут сохранены в vi /var/spool/cron/root (в зависимости от того пользователя под которым была создана запись crontab)

Количество просмотров: 12810

Комментарии к статье:

Добавить комментарий

Введите сумму с картинки

© Plutonit.ru - Администрирование, настройка Linux и Windows 2009 - 2024