Добавить в "Избранное" Вам нужно авторизоваться. Забыли пароль? Регистрация Ноябрь ср. 22 2017 г. в 15:34
Навигация
Хостинг от наших партнеров
Поиск
Рассылка



Отписаться
Статистика


Статьи

CRONTAB - управление файлами cron

Добавлено: 2008-07-19 01:26:31

СИНТАКСИС
 
crontab [файл]
crontab [-elr] [пользователь]
 
ОПИСАНИЕ
 
Команда crontab обеспечивает для пользователя доступ к услугам демона cron путем копирования, создания, распечатки и удаления crontab-файлов (т.е. файлов, содержащих задания для демона cron). При вызове без ключей crontab копирует указанный в командной строке файл (или стандартный ввод, если файл не указан) в специальный каталог /var/spool/cron/ crontabs, где хранятся задания всех пользователей для демона cron. После этого crontab посылает сигнал демону, чтобы он принял новые задания к исполнению. Пользователь не имеет и не должен иметь непосредственного доступа к crontab-файлам в /var/spool/cron/crontabs; его интерфейс к этим файлам - команда crontab.
 
Пользователю разрешено выполнять команду crontab (т.е. пользоваться услугами демона cron) только при условии, что его имя встречается в файле /etc/cron.d/cron.allow. Если этого файла не существует, то проверяется файл /etc/cron.d/ cron.deny для того чтобы узнать, не запрещен ли пользователю доступ к crontab. Если оба файла отсутствуют, то только суперпользователю разрешено пользоваться демоном cron. Если cron.allow не существует, cron.deny существует, но не содержит имен, то использовать команду crontab разрешено всем.
 
Файлы cron.allow и cron.deny содержат имена пользователей, по одному имени в строке.
 
Crontab-файл состоит из строк, каждая из которых содержит 6 полей. Эти поля разделены пробелами или символами табуляции. Первые 5 полей представляют собой шаблоны, указывающие время выполнения команды, шаблоны специфицируют следующие целые числа в указанном порядке:
 
   минуты (0-59),
   часы (0-23),
   день месяца (1-31),
   месяц в году (1-12),
   день недели (0-6 где 0=воскресенье).
 
Каждый из этих шаблонов может быть или символом *, который обозначает все корректные значения, или списком, элементы которого разделены запятыми. Каждый элемент должен быть либо числом, либо двумя числами, разделенными символом - (таким способом задается интервал). Заметим, что день может быть указан двумя полями (день месяца и день недели). Если в обоих этих полях указаны списки, то считаются заданными те дни, которые заданы или как день месяца, или как день недели. Например, если первые 5 полей содержат
 
0 0 1,15 * 1
 
то действие производится 1 и 15 числа каждого месяца и, кроме того, каждый понедельник. Чтобы указывать день каким-либо одним способом, в другом поле необходимо указать * (к примеру,
 
0 0 * * 1
 
приводит к выполнению действия только по понедельникам).
 
Остальная часть строки в файле регулярных действий представляет собой командную строку, которая выполняется командным интерпретатором (shell) в указанное время. Символы процента в этой цепочке (кроме экранированных символом "") преобразуются в символы перевода строки. При наличии неэкранированного символа (символов) % командной строкой считается часть строки до первого % исключительно. Остальное будет обработано при выполнении команды как стандартный ввод.
 
Строка, начинающаяся с символа #, является комментарием. Файл не должен содержать пустых строк.
 
Shell запускается демоном cron из домашнего каталога пользователя, запланировавшего действие, при этом нулевой аргумент командной строки (argc[0], $0) равен "sh". Если пользователь хочет, чтобы выполнялся его профайл, он должен явно указать это в crontab-файле. Cron поддерживает стандартное окружение для каждого запускаемого shell'а, определяя переменные HOME, LOGNAME, TZ также, как они определяются при работе пользователя, а также переменные
 
SHELL=/bin/sh
PATH=/usr/bin
PATH=/usr/bin:/usr/sbin (для суперпользователя)
 
Значение пременной PATH, устанавливаемой демоном cron, можно явно указать в /etc/default/cron.
 
Если стандартный вывод и стандартная ошибка не перенаправлены или не подавлены пользователем, то весь вывод и сообщения об ошибках от команд, запускаемых демоном cron пересылается пользователю по почте.
 
ОПЦИИ (КЛЮЧИ)
 
-e
 
редактирует копию существующего crontab-файла данного пользователя или создает новый файл для редактирования, если crontab-файл данного пользователя не существует. После выхода из текстового редактора созданный/ отредактированный файл устанавливается как crontab-файл пользователя вместо старого файла. Если указано имя пользователя, редактируется crontab-файл этого пользователя (доступно только суперпользователю). Переменная окружения EDITOR определяет, какой текстовый редактор вызывается при указании опции -e. По умолчанию вызывается ed.
 
-l
 
распечатывает в стандартный вывод содержимое crontab- файла данного пользователя.
 
-r
 
удаляет crontab-файл пользователя из каталога, в котором хранятся задания для cron. Только суперпользователь может указывать дополнительно к ключам -r или -l имя пользователя для того, чтобы удалять или просматривать crontab-файлы указанного пользователя.
 
ПРИМЕРЫ
 
Очищать домашний каталог от файлов core каждый рабочий день в 3:15 утра:
 
15 3 * * 1-5 find $HOME -name core 2>/dev/null |  xargs   rm -f
 
Отправлять по почте поздравление ежегодно в полдень 14-го февраля:
 
0 12 14 2 * mailx john%Happy Birthday!%Time for lunch.
 
Ниже приведенный пример, использующий два типа указания дня (день месяца и день недели):
 
0 0 1,15 * 1
 
будет запускать команду в полночь на первое и 15-е число каждого месяца, а также в полночь на каждый понедельник. Чтобы указывать дни только одним способом, в поле, отвечающем за второй способ, должен стоять символ *, например:
 
0 0 * * 1
 
будет запускать команду только по понедельникам.
 
ФАЙЛЫ
 
/usr/spool/cron/crontabs
Каталог, в котором размещены crontab-файлы пользователей (пользователи НЕ работают непосредственно с файлами этого каталога)
 
/var/cron/log
log-файл выполнения демоном cron заданий всех пользователей (доступен для чтения только суперпольззователю)
 
/etc/cron.d/cron.allow
Список пользователей, которым разрешено выполнять команду crontab
 
/etc/cron.d/cron.deny
Список пользователей, которым запрещено выполнять команду crontab.
 
/etc/default/cron
Установки для cron: CRONLOG=YES - включить регистрацию действий cron в /var/cron/log PATH=... - установить переменную PATH для выполнения заданий пользователей
 
ПРЕДОСТЕРЕЖЕНИЯ
 
Если Вы нечаянно ввели команду crontab без аргументов, то не пытайтесь выйти, нажав CTRL+D, так как это опустошит Ваш crontab-файл. Вместо CTRL+D используйте клавишу прерывания (CTRL-C).
 
Если суперпользователь изменяет crontab-файл другого пользователя, результат может получится непредсказуемым, если суперпользователь не выполнил предварительно команду su для перехода в сеанс нужного пользователя.

Понравилась статья? Поделись с друзьями!
Facebook Опубликовать в LiveJournal Tweet This


Оглавление   |  На верх

Оглавление        Вернуться к статье

Тема страницы:

CRONTAB - управление файлами cron: FAQ 2017-11-22 15_34_21 ( vps, vds, услуги )

Мы решим Ваши проблемы с выбором хостинга
Вход
Логин:

Пароль:


Запомнить меня
Вам нужно авторизоваться.
Забыли пароль?
Регистрация
На сайте
Гостей: 3
Пользователей: 0


Статьи
FAQ
10 статей
Животрепещущий для активных туристов вопрос стоимость поездки в европу решается удобнее и дешево, если обратиться к самостоятельным профессионалам в сфере персонализированного туризма | Здесь, специалисты компании помогут поисковая оптимизация сайта.
Использование материалов разрешается только при наличии ссылки на источник информации: www.sevhosting.net!
Для интернет-ресурсов наличие прямой активной гиперссылки www.sevhosting.net - обязательно ! © 2006-2015
Работает под управлением WebCodePortalSystem v. 6.2.01