недавно столкнулся с проблемой с CRON во FREEBSD: ни в какую CRON не хотел выполнять задание (системный crontab), хотя crontab судя по логам перечитывался…
Проблема решилась следующим образом: после строки с заданием( была последней в crontab ) добавил строку с комментарием и CRON после автоматической перечитки crontab уже не выпендривался и выполнял задание.
P.S. оказывается в Fedora 9 тоже бывает похожая проблема… :
http://portal.san.ru/forums/index.php?showtopic=90205
P.P.S Наиболее вероятная причина возникновения данной проблемы - это отсутствие знака конец строки в crontab.
Drey
10|Июль|2010 1Cron у меня на фре не хочет выполнять скрипт ни от юзера, ни от рута:
$ uname -a
FreeBSD nest 8.0-RELEASE FreeBSD 8.0-RELEASE #0:
$ tail -2 /var/log/cron
Jul 10 06:11:00 k /usr/sbin/cron[13653]: (my.user) CMD (/usr/local/bin/sudo /bin/sh /usr/local/etc/ipfw.rules && echo OK)
Jul 10 06:11:00 k /usr/sbin/cron[13654]: (root) CMD (/bin/sh /usr/local/etc/ipfw.rules && echo OK)
mu.user в /etc/sudoers вс) может без пароля. Скрипт в шелле выполняется и от него и от рута нормально.
Скрипт представляет из себя сброс правил и добавление дефолтных в файрвол:
$ head /usr/local/etc/ipfw.rules
IPF=”ipfw -q add”
ipfw -q -f flush
#loopback
$IPF 10 allow all from any to any via lo0
$IPF 20 deny all from any to 127.0.0.0/8
$IPF 30 deny all from 127.0.0.0/8 to any
$IPF 40 deny tcp from any to any frag
..
в кроне рута пробовал ставить имя пользователя от которого запускать, - без толку:
Он тогда в логе пишет так:
/usr/sbin/cron[13621]: (root) CMD (root^I/bin/sh /usr/local/etc/ipfw.rules && echo OK)
Пути абсолютные, переменные окружения не должны портить картину.
Голову сломал уже. Подскажите, грабли где найти?
Drey
10|Июль|2010 2Да, ваше решение не помогло, последняя строка в кроне выполняется исправно.