Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Problem z cronem, log: unable to exec /usr/sbin/sendmail -t.
http://forum.freesco.pl/viewtopic.php?f=22&t=16680
Strona 1 z 1

Autor:  Albercik [ piątek, 14 marca 2008, 13:02 ]
Tytuł:  Problem z cronem, log: unable to exec /usr/sbin/sendmail -t.

Od jakiegoś czasu zauważyłem, że skrypt leżący w /etc/cron.5min nie wykonuje się, a w logach pojawia się coś takiego :
Cytuj:
unable to exec /usr/sbin/sendmail -t, user -oem, output to sink null14-Mar-2008 12:05 USER root pid 27704 cmd /usr/sbin/run-cron /etc/cron.5min


To skrypt używający arpinga do pingowania urządzeńw sieci. Skąd ten sendmail i dlaczego się nie wykonuje?

Oczywiście uruchomiony "z ręki" działa prawidłowo.

Autor:  Mis' [ piątek, 14 marca 2008, 13:19 ]
Tytuł:  Re: Problem z cronem, log: unable to exec /usr/sbin/sendmail

Albercik pisze:
Od jakiegoś czasu zauważyłem, że skrypt leżący w /etc/cron.5min nie wykonuje się, a w logach pojawia się coś takiego :
Cytuj:
unable to exec /usr/sbin/sendmail -t, user -oem, output to sink null14-Mar-2008 12:05 USER root pid 27704 cmd /usr/sbin/run-cron /etc/cron.5min


masz dwa wyjścia - albo przekieruj stderr i stdout scriptu do /dev/null albo zainstaluj exima. Cron chce Ci wysłać wiadomość o wyniku działania scriptu ale z powodu braku sendmaila (moze to być symlink do jakiegoś serwera smtp) nie moze. Na działanie scriptu nie ma to żadnego wpływu.

Autor:  Albercik [ piątek, 14 marca 2008, 17:55 ]
Tytuł: 

Fragment skryptu:
: [/] [] ()
old=`cat /etc/test_siec/CompusChrobry   2>/dev/null`
new=`arping -I eth1 -c 2 200.0.0.20| grep ms |wc -l   2>/dev/null`

if [ "$new" -gt "0" ]; then
    if [ "$old" == "0" ]; then
    echo "`date` CompusChrobry UP" >> /var/log/nadajniki/stan_sieci.log   2>/dev/null
    echo "CompusChrobry UP" >> /etc/test_siec/sms_stan_sieci   2>/dev/null
    echo "1" > /etc/test_siec/CompusChrobry   2>/dev/null
    fi
else
    if [ "$old" -gt "0" ]; then
    echo "`date` CompusChrobry DOWN" >> /var/log/nadajniki/stan_sieci.log   2>/dev/null
    echo "CompusChrobry DOWN" >> /etc/test_siec/sms_stan_sieci   2>/dev/null
    echo "0" > /etc/test_siec/CompusChrobry   2>/dev/null
    fi
fi


Nadal to samo. Co pomyliłem?

Autor:  Mis' [ piątek, 14 marca 2008, 18:53 ]
Tytuł: 

Albercik pisze:
Fragment skryptu:
: [/] [] ()
old=`cat /etc/test_siec/CompusChrobry   2>/dev/null`


Nadal to samo. Co pomyliłem?


przekierowałeś stderr poszczególnych poleceń a nie scriptu. Spróbuj wyedytować crontab i zamiast (przykład)

5 * * * * /sciezka/script

wpisz:

5 * * * * /sciezka/script &>/dev/null

powinno pomóc.

Autor:  Albercik [ sobota, 15 marca 2008, 17:24 ]
Tytuł: 

Mis' pisze:
Albercik pisze:
Fragment skryptu:
: [/] [] ()
old=`cat /etc/test_siec/CompusChrobry   2>/dev/null`


Nadal to samo. Co pomyliłem?


przekierowałeś stderr poszczególnych poleceń a nie scriptu. Spróbuj wyedytować crontab i zamiast (przykład)

5 * * * * /sciezka/script

wpisz:

5 * * * * /sciezka/script &>/dev/null

powinno pomóc.


Log faktycznie już "znormalniał" , ale skrypt się nie wykonuje. Nic w logach nie ma. Jakie mogą być powody? Pierwszy raz mam coś takiego.

Autor:  Mis' [ sobota, 15 marca 2008, 23:01 ]
Tytuł: 

Albercik pisze:
Mis' pisze:
przekierowałeś stderr poszczególnych poleceń a nie scriptu. Spróbuj wyedytować crontab i zamiast (przykład)

5 * * * * /sciezka/script

wpisz:

5 * * * * /sciezka/script &>/dev/null

powinno pomóc.


Log faktycznie już "znormalniał" , ale skrypt się nie wykonuje. Nic w logach nie ma. Jakie mogą być powody? Pierwszy raz mam coś takiego.


Trudno wyczuć bez zobaczenia całego scriptu. Na szybko - spróbuj zmienić w crontab & na 2 czyli przekierować tylko stderr zamiast stderr i stdout. Jak nie pomoże to pokaż gdzieś cały scrit - będziemy kombinowac...

Autor:  Albercik [ sobota, 15 marca 2008, 23:39 ]
Tytuł: 

Mis' pisze:
Albercik pisze:
Mis' pisze:
przekierowałeś stderr poszczególnych poleceń a nie scriptu. Spróbuj wyedytować crontab i zamiast (przykład)

5 * * * * /sciezka/script

wpisz:

5 * * * * /sciezka/script &>/dev/null

powinno pomóc.


Log faktycznie już "znormalniał" , ale skrypt się nie wykonuje. Nic w logach nie ma. Jakie mogą być powody? Pierwszy raz mam coś takiego.


Trudno wyczuć bez zobaczenia całego scriptu. Na szybko - spróbuj zmienić w crontab & na 2 czyli przekierować tylko stderr zamiast stderr i stdout. Jak nie pomoże to pokaż gdzieś cały scrit - będziemy kombinowac...


Dzięki, rozbiłem to na drobne :
w crontabie /var/spool/cron/root (crontab -e oczywiście) dopisałem
: [/] [] ()
*/3 * * * *  /bin/bash -x /etc/test_siec/test_sieci 2>/etc/test_siec/test_sieci.log


i pokazało się, że nie ma takiego pliku lub katalogu. Dlaczego? W sumie z mojej głupoty, bo przedtem crona nie edytowałem niestety przez crontab -e i jakiś dziwny znak się przypałętał , niby koniec linii z pod windowsa, ale wkleił się jako zwykły znak i w logu pokazało mi go.
Jeszcze raz dziękuję za pomoc.

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/