Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Формат файла crontab также допускает вместо первых пяти позиций, означающих время выполнения задания, использовать предопределенные значения:
n @reboot (выполнять при загрузке операционной системы);
n @yearly (выполнять ежегодно в полночь 1 января);
n @monthly (выполнять ежемесячно в полночь 1 числа);
n @weekly (выполнять в полночь каждый понедельник);
n @daily (выполнять ежедневно в 0:00);
n @hourly (выполнять в начале каждого часа).
Рассмотрим пример:
# Выполнять 1-го числа каждого месяца в 0:00
@monthly /usr/local/billing/close_month.pl
Помимо собственно заданий, файл crontab может содержать строки, задающие системные переменные, с которыми задания будут отрабатываться. Так, можно задать оболочку, в которой будут исполняться сценарии (переменная SHELL, по умолчанию это sh), переменную PATH. Если нужно, чтобы выводимая выполняемыми командами информация пересылалась на почтовый ящик не владельца файла расписаний (как это происходит по умолчанию), а на другого пользователя, для этого можно использовать переменную MAILTO. Пустое значение (MAILTO=») приведет к тому, что сообщения будут перенаправляться в /dev/null.
Формат системного файла /etc/crontab несколько отличается от пользовательского: на шестой позиции указывается имя пользователя, с правами которого должна запускаться команда (и опционально – группа, отделенная от имени пользователя двоеточием, например, «root:wheel»), а сама команда отодвигается на седьмую. Например, вызов atrun задан в этом файле такой строкой:
*/5 * * * * root /usr/libexec/atrun
Из этой записи видно, что процесс atrun, обеспечивающий отработку заданий, сформированных командой at, будет запускаться каждые 5 минут. При необходимости повысить точность отработки заданий по at, следует соответствующим образом изменить приведенную выше строку.
С использованием механизма cron выполняется и такая важная задача, как ротация log-файлов (см. строку, отвечающую за запуск newsyslog). По умолчанию процесс newsyslog запускается каждый час и проводит ротацию (архивирование и перезапись) log-файлов в соответствии с настройками в /etc/newsyslog.conf. На загруженных системах с подробным протоколированием ротация может понадобиться чаще, чем раз в час, для чего следует изменить соответствующую строку в /etc/crontab.
С механизмом cron связана еще одна полезная вещь – автоматическое обслуживание системы, обеспечиваемое с помощью periodic-сценариев. В системном crontab можно заметить следующие три строки:
1 3 * * * root periodic daily
15 4 * * 6 root periodic weekly