LINUX.ORG.RU
ФорумAdmin

cron + www-data не выполняются задания


0

2

Имеется ARM-based машина.

Доступ через com-порт. Захожу от рута. Пытаюсь прописать в cron для пользователя www-data любое действие - нет реакции. Если прописывать для рута - все нормально.

Я бы грешил на то, что машина запущена в однопользовательском режиме, но развернутый на ней веб-сервер успешно работает!!!

В чем может быть загвоздка?

P.S. Задания в cron добавлял через crontab -u www-data -e

★★
Ответ на: комментарий от gnunixon

засунь www-data в группу crontab

Не помогло =( Тем более, на хосте www-data не в crontab, а все работает.

А что за машинка, кстати?

Тион от ЗАО-ЗЭО с нашей «материнской платой».

solovey ★★
() автор топика
Ответ на: комментарий от true_admin

смотри логи, делай strace (если он есть)

в /var/log/ вообще ничего про cron нету...

Strace до этого не пользовался. Почитал сейчас и чет не понял, как ее к крону прикрутить....

Буду признателен, если подскажете.

solovey ★★
() автор топика
Ответ на: комментарий от sin_a

echo «* * * * * root /bin/touch /tmp/test.crontab.tmp.file » >> /etc/crontab

Вы не внимательно прочитали мой первый пост. От рута все выполняется. Если же я заменяю root на www-data, то ничего не происходит!

solovey ★★
() автор топика
Ответ на: комментарий от solovey

1) прибить тот крон что есть

2) запустить strace -f -s 128 -o ~/cron_strace cron и подождать две минуты чтобы наверняка

Если ничего ценного на тачке нет (т.к. в лог попадают куски passwd и вообще всего что трогал крон) то выкладывай cron_strace сюда, иначе сам смотри обо что крон внутри спотыкается.

true_admin ★★★★★
()
Ответ на: комментарий от solovey

А если попробовать внести задание не в кронтаб пользователя а в общесистемный?

sin_a ★★★★★
()
Ответ на: комментарий от true_admin

Спасибо! Правда, сегодня, похоже, уже попробовать не смогу. Плату забрали на доработку...

Как будет возможность - сразу попробую и отпишусь.

solovey ★★
() автор топика
Ответ на: комментарий от Pinkbyte

Логи крона должны лежать в /var/log/cron, так?

Такого файла нет вообще!

solovey ★★
() автор топика

У пользователя www-data определён login-shell (в /etc/passwd)? Есть версии crond, которые проверяют что написано в /etc/passwd.

mky ★★★★★
()
Ответ на: комментарий от solovey

Да, login-shell есть. Ещё могут быть файлы /etc/cron.allow и /etc/cron.deny.

Логи крона пишутся через syslogd, посмотрите его конфиги, может они пишутся в другой файла, а может логирование для cron выключено.

mky ★★★★★
()
Ответ на: комментарий от true_admin

Наконец добрался до платы.

Сделал так, как Вы написали - получил 1.5К строк лога. Что-то мне подсказывает, что сюда их выкладывать не стоит...

Сам я в этом логе ничего не понял, признаюсь честно. Смущают только строки вида:

988   send(6, "<85>Apr  9 12:53:15 CRON[988]: pam_unix(cron:account): expired password for user www-data (root enforced)", 105, MSG_NOSIGNAL) = 105

solovey ★★
() автор топика
Ответ на: комментарий от mky

cron.allow и cron.deny нету. Но Вы были правы - в конфиге syslog'а (rsyslog.conf) cron был закомментирован. Убрал комментарий со строки

cron.*                          /var/log/cron.log
однако искомого лога так и не появилось...

solovey ★★
() автор топика
Ответ на: комментарий от solovey

Всем спасибо за помощь! Думаю, по факту тему можно закрыть... Какой-то cron у меня шибко корявый.

Пересмотрю свою задачу так, чтобы можно было сунуть в автозагрузку через rc*. Надеюсь, хоть это на моем урезанном линуксе будет работать =D

solovey ★★
() автор топика
Ответ на: комментарий от ZuBB

зарано жму ентер

1. а если зайти из под www-data в шелл и попробывать запустить комманду. а с полным path?

2. пользователя www-data в кроне писать в скобках («www-data»)

ZuBB ★★★★★
()
Ответ на: комментарий от solovey

из под юзера www-data эта комманда отрабатывает?

ZuBB ★★★★★
()
Ответ на: комментарий от solovey

перезапустил после этого syslog?

expired password for user www-data

без остального лога сложно понять только в этом ли дело, но ты смени пароль этому юзеру и посмотри что будет.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Мало ли кто будет гуглить

Действительно, проблема оказалась в том, что для www-data каждый раз требовалось задать пароль: поле date of last password change в /etc/shadow имело значение 0. После изменения значения этого поля (я просто оставил его пустым) все заработало.

solovey ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.