output=$(grep line /var/log/file); [[ -n "$output" ]] && mail -s Log email@domain.tld
Ou você pode transformar isso em um trabalho cron e, se produzir alguma saída, enviará um email aos usuários. Você pode editar o arquivo / etc / aliases (e executar o comando newaliases) para enviar email para o endereço que não está na caixa.
Ex da entrada do cron (você não poderá definir a linha de assunto como
1 0 * * * grep line /var/log/file
Ou você pode obter o utilitário ifne - provavelmente é isso que você deseja
linha grep / var / log / arquivo | ifne mail -s Log email@domain.tld
O comando ifne está disponível no repositório epel para centos e RHEL. Não consigo encontrar um link para a página de manual online, mas aí está
ifne (1)
ifne (1)
NAME ifne - Executar comando se a entrada padrão não estiver vazia
SINOPSE comando ifne [-n]
DESCRIÇÃO ifne executa o seguinte comando se e somente se a entrada padrão não estiver vazia.
OPÇÕES -n Operação reversa. Execute o comando se a entrada padrão estiver correta.
Note that if the standard input is not empty, it is passed
through ifne in this case.
EXEMPLO encontrar. -name core | ifne mail -s "Arquivos principais encontrados" root
AUTOR Copyright 2008 por Javier Merino
Licensed under the GNU GPL
2008-05-01 ifne(1)