Enviando e-mail de alerta no encerramento ou reinicialização do servidor Linux

0

Eu tenho servidores SLES 12 SP1 na minha empresa. Eu fiz duas configurações separadas para me alertar sempre que o servidor passa por um reinício, para ser mais explícito, um e-mail no momento do servidor ser desligado e outro quando ele é inicializado. O alerta configurado para enviar e-mail durante a inicialização está funcionando bem.

Mas, infelizmente, estou recebendo o alerta de desligamento não durante o processo de desligamento, mas depois que o servidor inicia. Algumas vezes nem será gerada.

Onde devo fazer as alterações para enviar e-mails imediatamente durante a reinicialização ou o desligamento.

Scripts.

/etc/systemd/system/ShutDownMail.service

Description=Sending Alert Emails on System shutdown.
Requires=network.target
Before=shutdown.target reboot.target

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/Scripts/BootMail.sh shutdown

[Install]
WantedBy=multi-user.target

/Scripts/BootMail.sh

#! /bin/sh
EMAIL="[email protected]"
SUBJECT="[$HOSTNAME] - System $1"

if [ "$1" = startup ]
then
    ACTION="started successfully at"
else
    ACTION="is shutting down. The Shutdown process started at"
fi

BODY="This is an automated message to notify you that %s %s.\nDate and Time: %s\n"

printf "$BODY" "$HOSTNAME" "$ACTION" "$(date)" | mail -s "${SUBJECT}" "${EMAIL}"

E-mails de alerta que recebi às 10h59. Por favor, note que ocasionalmente o e-mail de alerta de desligamento não será gerado. O processo de e-mail pode ser eliminado antes de enviar o e-mail

Estes são os emails na execução do init 6.

    
por Raneesh 24.10.2018 / 10:28

1 resposta

0

A maioria dos programas de e-mail simplesmente coloca a mensagem em uma fila e um processo separado verifica a fila e envia o e-mail. Você precisa, portanto, também acionar esse processo. Por exemplo, se estiver usando o sendmail, adicione ao seu script um sudo sendmail -qf para tentar liberar a fila ou, como você diz nos comentários, um postfix flush . Talvez um After=sendmail.service adicionado ou o equivalente do postfix também assegure que o daemon de tratamento de filas ainda esteja em execução.

    
por 24.10.2018 / 16:06