[РЕШЕНО] Проблема с cron
blow 11 июня, 2010 - 17:21
Здравствуйте. Проблема следующая:
cron постоянно высылает ошибки по почте
/bin/bash: root: command not found
В логах это время следующее:
syslog написал(а):
cron[7590]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )
cron[7591]: (root) CMD (root^Itest -x /usr/sbin/run-crons && /usr/sbin/run-crons )
crontab -l - стандартный (коментарии вырезал)
crontab -l написал(а):
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly
9 3 * * * root rm -f /var/spool/cron/lastrun/cron.daily
19 4 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly
29 5 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly
*/10 * * * * root test -x /usr/sbin/run-crons && /usr/sbin/run-crons
В какую сторону копать?
»
- Для комментирования войдите или зарегистрируйтесь
А cron, вообще, задания,
А cron, вообще, задания, помещённые в /etc/cron.{daily,hourly,monthly,weekly} выполняет?
Покажите
Я ♥ Gentoo & Funtoo
Похоже, задания не
Похоже, задания не выполняются.
Открыв файл на редактирование
Открыв файл на редактирование (хорошо это видно при использовании
mcedit
), убедитесь, что слово root в нём окружено [Tab]'ами:Я ♥ Gentoo & Funtoo
да, слово root
да, слово root окружено
tab'ами. И еще - это оригинальный файл, который поставляется с пакетом vixie-cron.
Вот еще немного логов:syslog
Вот еще немного логов:
После такого тоже письма с ошибкой валятся
а bash установлен???
а bash установлен???
естественно :-) # which
естественно :-)
Тогда ещё из области
Тогда ещё из области невероятных предположений — пользователь root есть и не переименован?
Покажите
и
Я ♥ Gentoo & Funtoo
Lupo Alberto
Нет, если бы были какие-то нестандартные исходные данные - я бы об этом написал :-)
И заметил еще, что и на другой машине присутствует такая-же проблема (такая же ошибка в файле /root/dead.letter, т.к. нормального mta там нет)
А зачем вообще слово root в
А зачем вообще слово root в crontab'e?!
Например мой выглядит так:
А у вас root стоит на месте команды, а команды root нет :), о чем вам система честно предупреждает... RTFM, однако...
SysA написал(а): А у вас
Какой именно FM следует прочитать? Слово root в данном случае обозначает пользователя, от имени которого должна выполняться команда.
Я ♥ Gentoo & Funtoo
Lupo Alberto
Хотя бы man 5 crontab
Кстати, насчет имени сами придумали или озарение свыше? В принципе что такое root мы слышали и даже поняли, как ВЫ хотели это интерпретеровать. К сожалению Gentoo Linux имеет другое мнение на этот счет... :)
К сожалению, мне не хватает
К сожалению, мне не хватает знаний, чтобы придумать что-либо новое в Linux. Поэтому в своих ответах я руководствовался личным опытом и тем, что файл /etc/crontab поставляется в Gentoo именно в том виде, в котором я указывал и который прекрасно работает на нескольких моих компьютерах. Прежде, чем ответить топикстартеру, я посмотрел описание синтаксиса
crontab
в книге С. Скловской «Команды Linux. Второе издание, переработанное и дополненное», где на стр. 132 написано буквально следующее:P.S.
man 5 crontab
датирован 24 January 1994P.S.S. Обидеть вас не хотел, не понравилась категоричность суждений.
Я ♥ Gentoo & Funtoo
Добавалю: в man 5 fcrontab
Пишется похожее:
man 5 crontab Секция EXAMPLE
man 5 crontab
Секция EXAMPLE SYSTEM CRON FILE
Я ♥ Gentoo & Funtoo
Lupo Alberto написал(а): man
Как в том старом анекдоте: "...не путайте божий дар с яичницей..." - то что вы здесь показываете, относится к "system-wide crontab", который по "crontab -l" НЕ показывается! А у топик-стартера (перечитайте первый пост!) проблема именно с пользовательским crontab'ом, который он выводит именно по "crontab -l".
P.S. Рекомендую не забывать, что в различных *NIX'ах одни и те же системные команды работают по-разному, в чем, к своему сожалению, пришлось лично столкнуться (например, такие элементарные вещи, как cp/tar/sar/LVM в Linux/AIX/HP-UX). Поэтому надо руководствоваться мануалами именно той системы, с которой вы работаете, а остальные источники рассматривать не более чем "информация к размышлению"...
P.P.S. Во избежание возможных недоразумений, подчеркиваю, что ВСЕ мои посты здесь относятся к текущей версии Генту Линукс. ;)
Весьма вероятно, что вы
Весьма вероятно, что вы правы, тут только топикстартер может объяснить, какой именно файл он имел ввиду: общесистемный или пользовательский?
Я ♥ Gentoo & Funtoo
swan boot # crontab -l no
Так что у рута может быть пользовательский crontab, а если он пользовательский, то там имени пользователя быть не должно ) Хотя все бывает.
И кстати, в логе ругается на ^I что означает символ табуляции.
(Sir) * Windows looks like an open door, but no way to go *
Мда, матчасть по крону я не
Мда, матчасть по крону я не дочитал. Не был в курсе, что пользовательский кронтаб и общесистемный различаются, поэтому выполнил команду (на 2-х проблемных системах)
crontab /etc/crontab
- прочитал невнимательно и отложилось в памяти, что нужно это сделать :-)