Справочное руководство по Linux Crontab

by itisgood

Введение

Каждому пользователю, а также администратору системы Linux очень часто приходится выполнять некоторые программы автоматически на регулярной основе.
Например, администратору может потребоваться отслеживать использование диска в системе.
В этом случае планировщик cron – очень удобный инструмент для достижения этой цели.
Предположим, что системному администратору необходимо выполнить скрипт /usr/local/sbin/backup.sh каждое воскресенье в 2:36 утра.
В этом случае администратор редактирует свой файл crontab, как показано на рисунке ниже:
$ sudo crontab -e

Формат записи Crontab прост, поскольку он разделен на 7 полей, разделенных пробелами или вкладками. 6-е поле, в данном случае, имя пользователя, может быть опущено, поскольку оно используется только системным планировщиком crontab.

На следующем рисунке показана единственная запись Crontab, позволяющая выполнять автоматическое выполнение скриптов каждое воскресенье в 2:36 утра:

Вышеприведенный пример довольно очевиден.

Что может быть не столь очевидным, так это использование знака * в приведенном выше примере записи crontab.

Символ * – это подстановочный знак, который буквально переводится всегда.

Ниже вы можете найти некоторые другие основные примеры crontab:

Описание Crontab Entry
* / 5 * * * * Запуск задания Crontab каждые 5 минут
0 * * * * Выполнять работу Crontab каждый час
0 0 * * * Выполнять работу crontab каждый день в 00:00

Как редактировать задачи Crontab Scheduler

Пользователь может редактировать свои задания crontab, вводя следующую команду crontab:

$ crontab -u foobar -e

Вышеупомянутая команда откроет ваш персональный файл конфигурации crontab, используя текстовый редактор по умолчанию.

Просто внесите изменения и сохраните файл.

Нет необходимости перезапускать ваш crontab, так как он автоматически переместит ваши изменения.

Чтобы перечислить задачи crontab, введите:

$ crontab -l

Наконец, если вам нужно удалить ваши задачи crontab, выполните команду ниже.

Обратите внимание, что это приведет к удалению всех записей crontab:

$ crontab -r

Системный планировщик crontab

Многие службы используют crontab автоматически.

Они хранят конфигурацию планировщика crontab непосредственно в каталоге /etc/cron.d.

Любые файлы, расположенные в этом каталоге, автоматически подбираются и выполняются планировщиком crontab.

Системные администраторы Linux также могут воспользоваться преимуществами предварительно сконфигурированных каталогов расписаний cetab /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly и /etc/cron.weekly.

Файлы crontab, расположенные в этих каталогах, периодически проходят и выполняются crontab scheduler.

Так, например, файлы crontab, найденные в каталоге /etc/cron.daily, выполняются каждый день.

Кроме того, если root хочет запустить, например. backup.sh один раз в неделю он помещает его в каталог /etc/cron.weekly.

Дополнительные примеры Crontab

Пример Crontab 1

Пример Crontab для запуска команды updatedb через 35 минут каждый час.

35 * * * * updatedb

Пример Crontab 2

Пример Crontab для выполнения /usr/local/bin/diskusage.sh в 2:00 вечера 10 марта, июня, сентября и декабря.

00 14 10 3,6,9,12 * /usr/local/bin/diskusage.sh

Пример Crontab 3

Этот пример crontab запускает /usr/local/bin/diskusage.sh в 1:25 AM, 1:50 AM каждый вторник и 15 числа каждого месяца.

25,50 1 15 * 2 /usr/local/bin/diskusage.sh

Пример Crontab 4

Этот пример crontab запускает /usr/local/bin/diskusage.sh в 21.00 каждый понедельник, среду, пятницу.

Обратите внимание, что использование имен неделей и дней – это расширение для некоторых версий crontab.

00 21 * * Mon,Wed,Fri /usr/local/bin/diskusage.sh

Пример Crontab 5

Следующий пример crontab выполняет /usr/local/bin/diskusage.sh каждые 5 минут в течение 5 рабочих дней (с понедельника по пятницу) каждую неделю и месяц.

*/5 * * * 1-5 /usr/local/bin/diskusage.sh

Пример Crontab 6

Этот пример crontab запускает скрипт / usr / local / bin / diskusage.sh каждую минуту каждый четвертый час в воскресенье.

* */4 * * sun /usr/local/bin/diskusage.sh

You may also like

Leave a Comment