"(CRON) info (nincs telepítve az MTA, visszadobás)" hiba a syslogban

148

Új Ubuntu 12.04.1 LTS telepítése van egy sor kiszolgálón.

Nem adtam hozzá semmilyen cron feladatot, vagy szerkesztettem a crontabomat ezeken a szervereken, ugyanakkor mindegyik gépre körülbelül egy időben kaptam egy 75% -os CPU tücsköket és a következő információkat a syslogomban a tüske időpontjában:

CRON[8380]: (CRON) info (No MTA installed, discarding output)

Egyszerre telepítettem és szervizhálózati kiszolgálót futtattam.

Mi a legjobb módja annak, hogy megállítsam ezt? Szeretném eltávolítani a CPU tüskét.

    
készlet sungiant 27.11.2012 11:25
forrás

11 válasz

140

A Linux az e-maileket értesítő üzenetek küldésére használja a felhasználót. A legtöbb Linux disztribúciónak van egy postai szolgáltatása (beleértve az MTA-t is). Az Ubuntu nem.

A probléma megoldásához például e-mail szolgáltatást, postfixet telepíthet.

sudo apt-get install postfix

Vagy figyelmen kívül hagyhatja. Nem hiszem, hogy a cron képtelensége az üzenetek küldésére semmi köze a CPU tüskéhez (ez kapcsolódik a mögöttes munkahoz, ami a cron fut). A legbiztonságosabb az MTA telepítése, majd az üzenetek olvasása (mutt egy jó rendszerleíró-olvasó).

    
válasz adott martin 01.01.2013 09:56
forrás
64

Ez azért történik, mert a cron feladatok kimeneteket generálnak, majd a cron démon megpróbálja e-mailben elküldeni azt a kimenetet (azaz root). Ha nincs szüksége erre a kimenetre, a megoldás legegyszerűbb módja a crontab eldobása:

sudo crontab -e

, és add hozzá>/dev/null 2>&1 minden munkához:

* * * * * yourCommand >/dev/null 2>&1
    
válasz adott rob 26.04.2013 12:27
forrás
43

Saját esetemben az üzenet a bash parancsfájlhoz tartozó engedélyezési problémára utal, de nem láttam, amíg nem telepítettem egy MTA-t.

Ahogyan azt javasoltam, futottam:

sudo aptitude install postfix

A telepítés során a "Helyi" beállítást választottam, és újra végrehajtottam a cron feladatot:

sudo tail -f /var/mail/<user>

Az én esetemben kicseréltem

<user>

a "root" -al.

Akkor láttam az engedélyekkel kapcsolatos hiba kimenetét.

    
válasz adott Martin Carstens 10.07.2015 16:28
forrás
20

A crontab-ban ezt első sorként adja hozzá:

MAILTO=""

Ez megakadályozza, hogy a cron megpróbáljon e-mailt küldeni.

    
válasz adott 88weighed 27.08.2015 15:06
forrás
19

Ha nem szeretné telepíteni az MTA-t (amelyre jelenleg nincs szükségem), akkor a cron feladat eredményeit egy naplófájlba átveheti.

sudo crontab -e

majd a cron-munkád ezzel fog kinézni.

0 3 * * * /cmd/to/run >> /var/log/somelogfile.log

akkor csak a fát lefaraghatja, és láthatja, mi történt

sudo tail -f -n 50 /var/log/somelogfile.log

Ezt én csináltam minden olyan szerveren, amelyen ezt az üzenetet látom a syslogban

    
válasz adott Andrew MacNaughton 17.04.2016 21:37
forrás
14

Ahogy egy korábbi válaszban szerepel, ez azért történik, mert a cron feladatok kimeneteket produkálnak, majd a cron démon megpróbálja e-mailben elküldeni ezt a kimenetet. Ha nem akarja (vagy nem tudja) telepíteni az MTA-t, de szeretné látni a kimenetet, átirányíthatja a cron feladat kimenetét egy naplófájlba. Szerkessze a crontab fájlt

crontab -e

(használja asudo -ot, ha a probléma a root crontab-jával van) és add hozzá>> /some/log/file 2>&1 minden parancs után:

0 3 * * * cmd  >> /some/log/file 2>&1

Ha egy soron több parancs van, ;,&& vagy||, a fentieket mindegyik parancsra meg kell tennie, például:

0 3 * * * cmd1  >> /some/log/file 2>&1;  cmd2  >> /some/log/file 2>&1

vagy csoportosítsa őket, például:

0 3 * * * (cmd1;  cmd2)  >> /some/log/file 2>&1

Ha figyelmen kívül hagyja a stdout-ot, és csak a stderr-t veszi fel, használja> /dev/null 2>> /some/log/file helyett. Helyezze el a naplófájlt bárhol, ahová - a saját könyvtárat, /var/log vagy akár/tmp, ha biztos benne, hogy nem kell megőriznie.

Akkor nézze meg a naplófájlt a feladat futása után.

    
válasz adott G-Man 29.07.2016 04:40
forrás
10

A/dev/null 2>&1 hozzáadásához a cron job parancs egyik mellékhatása az, hogy mind aSTDERR, mind aSTDOUT (Standard Error és Output) elutasítja. Ez jól működik, ha nem szeretne e-maileket a cron-tól. De ha azt szeretné, hogy a hibák e-mailben legyenek küldve, használja>/dev/null helyett. Olvassa el ezt a blogbejegyzést további magyarázatokhoz .

Még mindig telepítenie kell az MTA-t (üzenetátíró ügynököt) a hibaüzenetek küldéséhez. A Postfix egyszerűen telepíthető:sudo apt-get install postfix

    
válasz adott paneer_tikka 30.12.2013 18:27
forrás
8

Ez egy régi kérdés, de van egy további válasz is, amely bizonyos körülmények között hasznos.

Csatlakoztassa a cron parancs kimenetét alogger -on keresztül, így végül a syslogban lesz.

Ez kissé könnyebb, mint a postfix telepítése, és ezt a kimenetet más logok mellé rendeli. Ez a parancs fogja a stdout AND stderr-t elfogni, így nem fog látni aNo MTA installed üzenetet, és az összes kimenetet a syslogban fogja látni.

Példa cron bejegyzésre:

0 3 * * * (cmd1;  cmd2) 2>&1 | logger -t mycmd

A naplókat amycmd címke segítségével megtekintheti:

grep 'mycmd' /var/log/syslog
    
válasz adott Michael Hunter 23.10.2017 00:44
forrás
1

AMAILTO=”” változót acrontab fájl elején állíthatja be. Ezzel az e-mail figyelmeztetést letiltja. A cron feladatok szerkesztése / megnyitása:

$ crontab -e

A fájl tetején írja be:

MAILTO=""

link

    
válasz adott Damien Cuvillier 19.02.2018 06:18
forrás
1

Ezt a problémát a Kitematic Docker eszközök használta Menj a magento tárolóba, és kattints aexe -ra.

Ezután futtassa

apt-get update

Ez az, ha megpróbálod magentán futni a kitematicon. A napló megjeleníti ezt a hibát a virtuális gépen:

  

frissítés szükséges.

Sajnáljuk, hogy ez elvesztette, de így működik. Folyton elveszett, de csak olvasni róla, és a darabok össze fognak jönni egy nap. Legyen türelmes.

    
válasz adott Ali Bayati 18.09.2018 21:05
forrás
1
  1. Először telepítse apostfix fájlt, amely megoldja a problémát

    sudo apt-get install postfix
    
  2. Ha Ubuntu, akkor szerkesztheti acrontab fájlt

    sudo vim /etc/crontab
    
  3. Figyelje meg, módosítsa a legfelső fájlt, ne az első sorban szereplő kódokat, és írja be

    MAILTO=root // current system user
    
  4. Ha acron végrehajt valamilyen feladatot, e-mailt kap

    mail
    
válasz adott shahramlu 02.09.2018 09:40
forrás