Одна из наиболее полезных утилит FreeBSD это cron(8). Утилита
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
файлов
пользователей.
Вы не должны использовать процедуру, описанную здесь, для
установки системного crontab. Просто используйте свой
любимый текстовый редактор: утилита cron
узнает о том, что файл изменился и сразу начнет использовать
обновленную версию. Обратитесь к этой
части FAQ за дальнейшей информацией.
Для установки готового crontab
пользователя,
сначала создайте в вашем любимом редакторе файл соответствующего
формата, а затем воспользуйтесь утилитой
crontab
. Обычно она запускается
так:
%
crontab crontab-file
В этом примере, crontab-file
это имя файла
crontab, который только что был создан.
Существует также параметр для просмотра установленных файлов
crontab
: задайте crontab
параметр -l
.
Для пользователей, составляющих crontab вручную, без временного
файла, существует параметр crontab -e
.
Она вызовет редактор с пустым файлом. Когда файл будет сохранен,
crontab
автоматически установит его.
Если позднее вы захотите полностью удалить свой
crontab
, используйте
crontab
с параметром -r
.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.