Como você lida com os relatórios periódicos do FreeBSD?

3

Fora da caixa, cada máquina FreeBSD envia dois e-mails por dia para o administrador ( root - geralmente com alias para alguém):

  • Saída diária do cron (com status de discos, interfaces de rede, etc.)
  • Saída de segurança diária (com tentativas de penetração encontradas em logs, etc.)

Também há pares de relatórios semanais e mensais, com saídas dos trabalhos considerados "mais pesados" (como locate -updates), que não exigem execuções diárias.

Na maioria das vezes, esses e-mails são tediosos ao extremo e muitas vezes me pego excluindo-os sem ler. Mas eu me sinto culpado por fazer isso - porque um dia eu posso sentir falta de algo importante e porque, se eu não estiver lendo, eu também posso redirecioná-los para /dev/унітаз .

Com 5-7 caixas do FreeBSD (da minha família e da minha família) sob meus cuidados, isso está ficando incômodo - existe, talvez, algum tipo de software, que pode me alertar para relatórios potencialmente "interessantes" enquanto discretamente escondidos? o resto fora? Algo "treinável" - como um filtro de spam bayesiano?

Idealmente, ele se integraria ao Seamonkey / Thunderbird, mas também pode ser baseado em linha de comando (eu o executarei de dentro de ~/.procmailrc ) ...

    
por Mikhail T. 05.07.2017 / 16:25

1 resposta

0

Expressões regulares no procmail podem abranger várias linhas (mas, como em tudo no procmail, você precisa ter cuidado para que um erro de digitação não faça com que sua regra falhe silenciosamente). No passado, escrevi receitas procmail que correspondem a um relatório quando tudo corre bem e as salva na caixa de correio noise . Então, se esse relatório chegar na minha caixa de correio, isso significa que há um problema que preciso examinar (ou isso, ou que eu tenho um problema com meu .procmailrc )

Veja um exemplo que examina o cabeçalho e o corpo da mensagem e examina um relatório complexo que costumava receber em um orkplace antigo:

:0 :
* ^From: [email protected]
* ^To: [email protected]
* ^Subject: cron output from host.my.dom.ain
* B ?? ^^No account processing to do this run\.\.\.\
^Configuring databases\.  Please wait\.\.\.\
(^\*\*\* No IP address for.*)*\
^Processed [0-9]+ total hosts with the following distribution:\
(^[0-9]+        (common|osX|win(7|8)))+
\
^Generated [0-9]+ ganglia clusters containing [0-9]+ machines\
(^Installing new ssh_known_hosts\.\.\.)?\
^Looking for sendmail aliases to generate\
(^No users in passwd file that have no \(valid\) entry in aliases\.forward)?\
(^()\
^Updating the serial number in .*\.Zone )*\
(^Updating hosts file)?)+
noise

Quando você estiver escrevendo sua receita, recomendo que use um arquivo de mensagem de teste e um arquivo procmail de teste. Faça com que a receita salve a mensagem em um arquivo de teste e execute procmail manualmente. Verifique a saída de registro para certificar-se de que todas as condições coincidam. Para a parte de correspondência corporal, tente escrever essa linha de cada vez.

    
por 31.07.2017 / 17:41