Введение
$ 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