systemd Falha de substituição de MAILTO

4

Estou tentando configurar systemd para me notificar via e-mail se uma unidade falhar, como o Cron pode ser configurado para fazer. Eu segui o guia no wiki do Arch Linux .

Então eu configurei um script de sendmail em /usr/local/bin/systemd-email :

#!/bin/bash
/usr/bin/sendmail -t <<ERRMAIL
To: $1
From: systemd <root@$HOSTNAME>
Subject: $2
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8

$(systemctl status --full "$2")
ERRMAIL

E então eu configuro um serviço systemd em /etc/systemd/system/[email protected] :

[Unit]
Description=status email for %I to user1

[Service]
Type=oneshot
ExecStart=/usr/local/bin/systemd-email [email protected] %i
User=nobody
Group=systemd-journal

No entanto, quando eu testo essa configuração, executando systemctl start [email protected] , recebo a seguinte mensagem de falha:

[email protected] - status email for dbus to user1
   Loaded: loaded (/etc/systemd/system/[email protected]; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sun 2015-06-14 10:19:36 MDT; 20min ago
  Process: 31229 ExecStart=/usr/local/bin/systemd-email [email protected] %i (code=exited, status=1/FAILURE)
 Main PID: 31229 (code=exited, status=1/FAILURE)

Jun 14 10:19:36 sindhu systemd[1]: Starting status email for dbus to user1...
Jun 14 10:19:36 sindhu sSMTP[31230]: /etc/ssmtp/ssmtp.conf not found
Jun 14 10:19:36 sindhu sSMTP[31230]: Unable to locate mailhub
Jun 14 10:19:36 sindhu systemd-email[31229]: sendmail: Cannot open mailhub:25
Jun 14 10:19:36 sindhu systemd[1]: [email protected]: main pro...RE
Jun 14 10:19:36 sindhu systemd[1]: Failed to start status email for dbus to ...1.
Jun 14 10:19:36 sindhu systemd[1]: Unit [email protected] ente...1.
Jun 14 10:19:36 sindhu systemd[1]: [email protected] failed.
Hint: Some lines were ellipsized, use -l to show in full.

Mas, /etc/ssmtp/ssmtp.conf está de fato presente e configurado corretamente (eu já tenho o SSMTP configurado) e, portanto, se eu executar algo como:

echo -e "To: [email protected]\nFrom: [email protected]\nSubject: Hello Notification\n\n Hello, this is a test"|ssmtp [email protected]

Recebo e-mail como esperado / desejado.

Da mesma forma, se eu executar o script de shell systemd-email [email protected] dbus , também receberei e-mail.

Assim, todas as partes systemd -externas parecem estar funcionando; Portanto, deve ser algo dentro de systemd , até onde eu possa entender. Mas estou perdida para saber o que, ou como consertar isso.

    
por emacsomancer 18.06.2015 / 02:07

1 resposta

0

Esse segmento corrigiu meus problemas semelhantes. Basicamente, o systemd está eliminando o processo filho que deve enviar o email antes de enviar o email. A correção foi adicionar 'set sendwait' ao /etc/mail.rc, mas minha configuração é um pouco diferente do que você descreveu.

/ usr / bin / mail call no ExecStart não enviando nenhum email

    
por 03.06.2016 / 03:31