LINUX.ORG.RU

crontab не отрабатывает команду


0

1

Система - Arch Linux.
Под любым юзером не отрабатываются самые простые команды.
Например,

crontab -e
0-59 * * * * /bin/echo «test!»

Сообщений в терминале нет. Вот что говорят логи крона:

Dec 4 19:10:01 localhost crond[11370]: FILE /var/spool/cron/user USER user PID 11587 /bin/echo test!
Dec 4 19:10:01 localhost crond[11588]: mailing cron output for user user /bin/echo test!
Dec 4 19:10:01 localhost crond[11588]: unable to exec /usr/sbin/sendmail: cron output for user user /bin/echo test! to /dev/null

В чем может быть проблема?

>> unable to exec /usr/sbin/sendmail

К.О. рапортует: у тебя в системе нет средств доставки почты, поэтому слово «test!» уходит в никуда.

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

Хорошо, тест уходит в никуда. Но если у меня скрипты еще висят в заданиях? Они не должны ничего выводить (2>&1 > /dev/null).

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

>> Но если у меня скрипты еще висят в заданиях? Они не должны ничего выводить (2>&1 > /dev/null).

Ну, если у ни нет своих собственных проблем, то они работают как положено. Отсутствие почтовика является проблемой лишь для уведомлений о заданиях.

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

Ну так в том-то и проблема, но вообще ничего не отрабатывается в crontab. Есть такой скрипт, например: 00 20 * * * /bin/sh /home/user/script.sh 2>&1 > /dev/null

И опять же, реакции 0. Вне крона скрипты работают как надо.

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

По поводу вот этого именно задания в логе есть что-нибудь? А то может быть символа «перевод строки» в кронтабе нет после этого задания?

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

Dec 4 23:45:01 localhost crond[12029]: reading /var/spool/cron/cron.update
Dec 4 23:45:01 localhost crond[12029]: FILE /var/spool/cron/user USER user PID 12379 /home/user/script.sh 2>&1 > /dev/null
Dec 4 23:45:01 localhost crond[12381]: unable to exec /usr/sbin/sendmail: cron output for user user /bin/date to /dev/null

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

вместо 2>&1 >/dev/null поставьте 2 >>/home/user/script.log 1 >>/home/user/script.log

И изучайте лог.

PS: кстати, для пользователя нужно пользоваться командой crontab -e, это Ъ.

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

Для меня загадка, почему нынешние линуксоиды так категорически и упорно не желают устанавливать сендмейл или какой-нибудь другой МТА.

Гентушники наверное...

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

>А на кой хрен он на десктопе нужен?
Я тоже так подумал и сделал:
$ cat `which sendmail`
#!/bin/dash
procmail -d x3al
С кроном и rss2email прекрасно работает.

x3al ★★★★★ ()

->Для меня загадка, почему нынешние линуксоиды так категорически и упорно не желают устанавливать сендмейл или какой-нибудь другой МТА.

Я не вижу смысла ставить отдельный пакет только ради уведомления меня на мыло о завершении выполнения задания.

->вместо 2>&1 >/dev/null поставьте 2 >>/home/user/script.log 1 >>/home/user/script.log И изучайте лог.

PS: кстати, для пользователя нужно пользоваться командой crontab -e, это Ъ.

Поставил. Пустые файлы создаются. А crontab'ом это всё я и пытаюсь завести =)

regexp ()

запускай

* * * * * /usr/bin/test.sh

$ cat test.sh
#!/bin/bash

echo ------------- >> /tmp/test
env >> /tmp/test
id >> /tmp/test

и все поймешь

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