Одна из наиболее полезных утилит FreeBSD это cron. Утилита cron
работает в фоновом режиме и постоянно проверяет файл /etc/crontab
. Утилита cron
проверяет также каталог /var/cron/tabs
в поиске новых файлов crontab
. Файлы crontab
содержат информацию об определенных функциях, которые cron
выполняет в указанное время.
Утилита cron
использует два разных типа конфигурационных файлов, системный и пользовательский. Все различие между этими двумя форматами заключается в шестом поле. В системном файле шестое поля это имя пользователя, с правами которого будет запущена команда. Это позволяет запускать команды из системного crontab от любого пользователя. В пользовательском файле шестое поле указывает запускаемую команду, и все команды запускаются от пользователя, который создал crontab; это важно для безопасности.
Примечание:
Пользовательские crontab позволяют индивидуальным пользователям планировать задачи без привилегий суперпользователя (root
). Команды из crontab пользователя запускаются с привилегиями этого пользователя.
Пользователь root
может использовать собственный crontab, как и любой другой пользователь. Он будет отличаться от системного crontab /etc/crontab
. Поскольку существует системный crontab, обычно не требуется создавать пользовательский crontab для root
.
Давайте заглянем в файл /etc/crontab
(системный crontab):
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ # # SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/var/log # # #minute hour mday month wday who command # # */5 * * * * root /usr/libexec/atrun
Как и в большинстве файлов настройки FreeBSD, символы <<#>> означают комментарии. Комментарии нужны для напоминания о том, что означает строка и зачем она добавлена. Комментарии не могут находиться на той же строке, что и команда, или они будут восприняты как часть команды; располагайте их на новой строке. Пустые строки игнорируются. |
|
Сначала должны быть заданы переменные окружения. Знак равно ( |
|
В строке всего семь полей. Их значения |
|
Последняя строка определяет параметры, описанные выше. Здесь задано значение Команды могут принимать любое количество параметров; однако команды, состоящие из нескольких строк, должны быть объединены символом <<\>>. |
Этот формат одинаков для каждого файла crontab
, за исключением одной детали. Шестое поле, где указано имя пользователя, присутствует только в файле /etc/crontab
. Это поле должно быть исключено из crontab
файлов пользователей.
12.6.1. Установка crontab
Важно:
Вы не должны использовать процедуру, описанную здесь, для установки системного crontab. Просто используйте свой любимый текстовый редактор: утилита cron
узнает о том, что файл изменился и сразу начнет использовать обновленную версию. Обратитесь к этой части FAQ за дальнейшей информацией.
Для установки готового crontab
пользователя, сначала создайте в вашем любимом редакторе файл соответствующего формата, а затем воспользуйтесь утилитой crontab
. Обычно она запускается так:
%
crontab crontab-file
В этом примере, crontab-file
это имя файла crontab, который только что был создан.
Существует также параметр для просмотра установленных файлов crontab
: задайте crontab
параметр -l
.
Для пользователей, составляющих crontab вручную, без временного файла, существует параметр crontab -e
. (Она вызовет редактор с пустым файлом. Когда файл будет сохранен, crontab
автоматически установит его). Она вызовет текущий файл заданий cron.
Если позднее вы захотите полностью удалить свой crontab
, используйте crontab
с параметром -r
.
Источник: https://www.freebsd.org/doc/ru/books/handbook/configtuning-cron.html