Nefunkční Cron, chybějící mailer

Nefunkční Cron, chybějící mailer
« kdy: 08. 08. 2017, 19:23:14 »
Ahoj, nedávno jsem experimentoval s postfixem, následně jsem si všimul, že mi nechodí cron.
V logu:
Kód: [Vybrat]
Aug  8 19:14:01 NOTE CRON[8196]: (doga) CMD (/usr/bin/unison Down)
Aug  8 19:14:02 NOTE cron[990]: sendmail: fatal: open /etc/postfix/main.cf: No such file or directory
Aug  8 19:14:02 NOTE postfix/sendmail[8200]: fatal: open /etc/postfix/main.cf: No such file or directory
Aug  8 19:14:02 NOTE CRON[8195]: (doga) MAIL (mailed 183 bytes of output but got status 0x004b from MTA#012)
Nemohu najít, kde postfix deaktivovat.
Dík za radu ;)
« Poslední změna: 09. 08. 2017, 07:00:47 od Petr Krčmář »


Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Nefunkční CRON
« Odpověď #1 kdy: 08. 08. 2017, 19:46:36 »
Zkus napsat distribuci a verzi, nějaký mailer prostě v linuxu potřebuješ, postfix, exim, nullmailer... pokud tam nemáš nic, bude těch problémů asi víc, než jen cron.

j

Re:Nefunkční CRON
« Odpověď #2 kdy: 08. 08. 2017, 20:33:22 »
Ja bych z toho mala rek, ze cron ti funguje naprosto spravne, jen se holt snazi mailovat vystup, nejspis rootovi, a tudiz zavola sendmail ... a ten se snazi nastartovat neujspis nejaky vychozi MTA, coz je v tomhle pripade postfix, a ten ti nahlasi ze nenastartuje bez konfigurace coz je jedine dobre.

Takze pokud  nikam nic mailovat nechces, tak si zarid, aby to co leze z toho co volas cronem skoncilo v /dev/null a aby vysledek akce byla 0 (= probehlo to bez chyb). Pak se cron nebude snazit nikam nic mailovat.

Re:Nefunkční CRON
« Odpověď #3 kdy: 08. 08. 2017, 22:17:54 »
Ja bych z toho mala rek, ze cron ti funguje naprosto spravne, jen se holt snazi mailovat vystup, nejspis rootovi, a tudiz zavola sendmail ... a ten se snazi nastartovat neujspis nejaky vychozi MTA, coz je v tomhle pripade postfix, a ten ti nahlasi ze nenastartuje bez konfigurace coz je jedine dobre.

Takze pokud  nikam nic mailovat nechces, tak si zarid, aby to co leze z toho co volas cronem skoncilo v /dev/null a aby vysledek akce byla 0 (= probehlo to bez chyb). Pak se cron nebude snazit nikam nic mailovat.
Ahoj, bude to jak říkáš.
V cronu volám unison ale přidání dev/null nic nezměnilo:
Kód: [Vybrat]
1-59/2 * * * * /usr/bin/unison Desk > /dev/null
Nějaký nápad co s tím? Dík

Palo M.

Re:Nefunkční CRON
« Odpověď #4 kdy: 09. 08. 2017, 06:44:51 »
Ahoj, bude to jak říkáš.
V cronu volám unison ale přidání dev/null nic nezměnilo:
Kód: [Vybrat]
1-59/2 * * * * /usr/bin/unison Desk > /dev/null
Nějaký nápad co s tím? Dík
Presmerovat okrem standardneho vystupu aj chybovy vystup...


Re:Nefunkční CRON
« Odpověď #5 kdy: 09. 08. 2017, 06:49:48 »
>/dev/null 2>&1

Re:Nefunkční CRON
« Odpověď #6 kdy: 09. 08. 2017, 07:08:09 »
Máte cron nakonfigurovaný tak, aby v případě chyby odesílal e-maily pomocí programu sendmail. Binárku sendmail tam zajišťuje Postfix, který není nakonfigurovaný. Chyb je tam několik – za prvé tam máte zbytečně nainstalovaný Postfix, který asi nechcete používat – takže byste jej měl odinstalovat. Za druhé vám ta úloha cronu vypisuje něco na standardní nebo chybový výstup, to se vám cron pokouší poslat e-mailem – to už vám napsali jiní. Za třetí, to, co se pokoušíte dělat s Unisonem, je opravdu divné, a pokud např. jedno spuštění bude trvat déle a celý proces se spustí souběžně dvakrát, vůbec bych se nedivil, pokud by došlo k poškození souborů. Pro průběžnou synchronizaci má Unison volbu -repeat.

David1234

Re:Nefunkční CRON
« Odpověď #7 kdy: 09. 08. 2017, 13:02:36 »
>/dev/null 2>&1

Nebo funguje také MAILTO=""

Kód: [Vybrat]
cat << 'EOF' > /etc/cron.d/backup
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/
MAILTO=""
 
0 * * * *  root /usr/sbin/ipa-backup --data --online
EOF

Re:Nefunkční CRON
« Odpověď #8 kdy: 10. 08. 2017, 12:23:33 »
Máte cron nakonfigurovaný tak, aby v případě chyby odesílal e-maily pomocí programu sendmail. Binárku sendmail tam zajišťuje Postfix, který není nakonfigurovaný. Chyb je tam několik – za prvé tam máte zbytečně nainstalovaný Postfix, který asi nechcete používat – takže byste jej měl odinstalovat. Za druhé vám ta úloha cronu vypisuje něco na standardní nebo chybový výstup, to se vám cron pokouší poslat e-mailem – to už vám napsali jiní. Za třetí, to, co se pokoušíte dělat s Unisonem, je opravdu divné, a pokud např. jedno spuštění bude trvat déle a celý proces se spustí souběžně dvakrát, vůbec bych se nedivil, pokud by došlo k poškození souborů. Pro průběžnou synchronizaci má Unison volbu -repeat.
Ahoj,
postfix jsem již odinstaloval a do cronu přidal:
Kód: [Vybrat]
1-59/2 * * * * /usr/bin/unison Desk>/dev/null 2>&1
ale stále unison nejede. V logu:
Kód: [Vybrat]
NOTE CRON[13872]: (doga) CMD (/usr/bin/unison Desk>/dev/null 2>&1)O parametru -repeat jsem nevěděl, dík, podívám se na něj.
Jak by šlo cron nakonfigurivat aby přestal posílat maily? Už si za boha nemůžu vzpomenout, jak se mi to podařilo zapnout.
Dík ;)

Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Nefunkční Cron, chybějící mailer
« Odpověď #9 kdy: 10. 08. 2017, 12:39:23 »
Znovu a lépe... maily neodesílá jen cron, ale spousta dalších částí systému, proto je dobré mít nějaký mailer, který to nějak zpracuje (i kdyby to měl zahodit). Pokud jsi odinstaloval postfix a aktuálně tam nemáš nic, je možné, že se časem vyskytnou další problémy, kterých si možná nevšimneš, možná se budou blbě řešit...

Re:Nefunkční CRON
« Odpověď #10 kdy: 10. 08. 2017, 13:10:31 »
ale stále unison nejede
Důvod byste se dozvěděl právě v tom logu. Tak to místo do /dev/null aspoň přesměrujte do nějakého souboru, ať se můžete podívat, co vám vlastně vypisuje.

Znovu a lépe... maily neodesílá jen cron, ale spousta dalších částí systému, proto je dobré mít nějaký mailer, který to nějak zpracuje (i kdyby to měl zahodit). Pokud jsi odinstaloval postfix a aktuálně tam nemáš nic, je možné, že se časem vyskytnou další problémy, kterých si možná nevšimneš, možná se budou blbě řešit...
Souhlasím. Pokud máte v distribuci msmtp, nainstalujte ho a nakonfigurujte (a nebo budete mít v distribuci něco podobného). Posílání e-mailů při chybě je běžná věc a dost to pomáhá při řešení problémů.

Re:Nefunkční CRON
« Odpověď #11 kdy: 11. 08. 2017, 21:10:12 »
Citace
Důvod byste se dozvěděl právě v tom logu. Tak to místo do /dev/null aspoň přesměrujte do nějakého souboru, ať se můžete podívat, co vám vlastně vypisuje.
Dobrý nápad, toto je výsledek:
Kód: [Vybrat]
Contacting server...
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
Fatal error: Lost connection with the server
Když úlohu unison pustím ručně přes terminál, úloha proběhne ale když jí zavolá cron, nemůže se unison připojit na SSH.

Citace
Souhlasím. Pokud máte v distribuci msmtp, nainstalujte ho a nakonfigurujte (a nebo budete mít v distribuci něco podobného). Posílání e-mailů při chybě je běžná věc a dost to pomáhá při řešení problémů.
Díky, už se snažím msmtp nakonfigurovat.

Re:Nefunkční CRON
« Odpověď #12 kdy: 11. 08. 2017, 22:19:44 »
Když úlohu unison pustím ručně přes terminál, úloha proběhne ale když jí zavolá cron, nemůže se unison připojit na SSH.
Ručně přes terminál ji asi spouštíte pod nějakým uživatelem, který má uložen SSH klíč nebo spuštěného SSH agenta. Z cronu to předpokládám spouštíte ze systémového cronu, tedy pod uživatelem root. Pokud to nemusí běžet pod rootem, nakonfigurujte to raději pro toho uživatele, pod kterým to spouštíte z terminálu – crontab -e spuštěné pod daným uživatelem vám spustí editor s crontab souborem pro daného uživatele.

Re:Nefunkční CRON
« Odpověď #13 kdy: 18. 08. 2017, 22:49:57 »

Citace
Ručně přes terminál ji asi spouštíte pod nějakým uživatelem, který má uložen SSH klíč nebo spuštěného SSH agenta. Z cronu to předpokládám spouštíte ze systémového cronu, tedy pod uživatelem root. Pokud to nemusí běžet pod rootem, nakonfigurujte to raději pro toho uživatele, pod kterým to spouštíte z terminálu – crontab -e spuštěné pod daným uživatelem vám spustí editor s crontab souborem pro daného uživatele.

Ahoj, cron i terminal to spouští pod uživatelem a do mých experimentů to bezchybně fungovalo :( Jiný nápad? Dík

Re:Nefunkční CRON
« Odpověď #14 kdy: 19. 08. 2017, 08:37:03 »
Ahoj, cron i terminal to spouští pod uživatelem a do mých experimentů to bezchybně fungovalo :( Jiný nápad? Dík
Já mám takový netradiční nápad – že byste popsal problém, který řešíte. Skutečně popsal, ne jen „nefunguje to“, ale že byste napsal všechno, co o problému víte. Protože když tu budeme střílet nápady na slepo, budeme tu hodně dlouho.

Takže píšete, že to spouštíte cronem, takže by bylo vhodné sem dát příslušný řádek z crontabu spolu s komentářem, ve kterém crontabu to je (v systémovém, v crontabu konkrétního uživatele a kterého). Dále píšete, že se nelze připojit přes SSH. Takže by bylo dobré napsat, jak je řešené přihlašování – jestli máte uložený klíč v souboru a zda s heslem nebo bez hesla, nebo zda používáte SSH agenta, nebo jestli se ta aplikace má přihlašovat ještě jiným způsobem. Případně by bylo vhodné použít nějaký parametr pro vyšší úroveň logování, pokud ho Unison má, může vypsat víc o tom, co se pokouší dělat a co selhává.