Доступ в каталог /var/spool/cron непривилегированому пользователю закрыт, что бы посмотреть юзером «user» есть ли у него файл crontab, достаточно набрать команду crontab -l , если файл существует-будет показано его содержимое.
Для удаления файла используется команда crontab -r
Для редактирования crontab -e
Для управления файлами crontab пользователем «root» используется синтаксис:
crontab -u user_name file — создание файла crontab из файла «file» для юзера «user_name»
-u означает чей crontab будет обработан, если опция не задана, то будет обработан crontab того пользователя, который запустил команду crontab.
crontab -u user_name -l — просмотр файла crontab юзера «user_name»
crontab -u user_name -r — удаление файла crontab юзера «user_name»
crontab -u user_name -e — редактирование файла crontab юзера «user_name» используя редактор, заданный переменной окружения VISUAL или EDITOR
Формат и значения полей
Каждая команда в пользовательском файле crontab занимает одну строку и состоит из шести полей. Пользовательские файлы crontab находятся в каталоге /var/spool/cron
Общий формат команды:
минута час день_месяца месяц день_недели команда
Допустимые значения:
минута от 0 до 59
час от 0 до 23
день_месяца от 1 до 31
месяц от 1 до 12 (можно три буквы из названия месяца, регистр не имеет значения от jan до dec)
день_недели от 0 до 6 (0 это воскресенье, можно писать от sun до sat)
Каждое из полей даты и времени может быть обозначено символом * , будет соответствовать любому возможному значению. Для этих полей можно указывать диапазоны значений, разделенных дефисом, например:
* 5 4-10 0-3 * echo «HELLO» — печать HELLO в 5:00 на 4,5,6,7,8,9,10 дни января, февраля, марта и апреля
пошаговая запись
* */2 * * sat echo «HELLO» — печать HELLO каждый четный час, каждую субботу
равнозначная предыдущему примеру запись (списком)
* 0,2,4,6,8,10,12,14,16,18,20,22 * * sat echo «HELLO» — печать HELLO каждый четный час, каждую субботу
то же самое с указанием диапазона
* 0-23/2 * * sat echo «HELLO» -печать HELLO каждый четный час, каждую субботу
59 23 31 dec * echo «Happy new year» — поздравит с новым годом
Для отладки задания cron, можно перенаправить результат в файл
Пример:
0-59 * * * * /home/user/mail 2>/tmp/tmp.cron
Если при запуске команды /home/user/mail возникнут ошибки, то они будут записаны в файл /tmp/tmp.cron и вы всегда сможете узнать причину. В случае перенаправления вывода в файл, письмо, юзеру указаному в переменной MAILTO отправлено не будет.
Посмотреть информацию о всех командах запускаемых демоном cron можно в каталоге /var/log называются cron, cron1 и т.д.
В файле /var/log/cron записано время запуска всех заданий cron за предыдущий день
Mar 29 04:03:00 rst CROND[4434]: (user) CMD (/home/user/mail)
Mar 29 04:03:59 rst CROND[4493]: (user) CMD (/home/user/mail)
Mar 29 04:05:00 rst CROND[4507]: (user) CMD (/home/user/mail)
Mar 29 04:06:00 rst CROND[4549]: (user) CMD (/home/user/mail)
В остальных файлах cron1,cron2 находится подобная информация, но более старая чем в cron
Вот практически и все, что требуется знать для использования cron и crontab.