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:
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: 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/ |