output=$(grep line /var/log/file); [[ -n "$output" ]] && mail -s Log [email protected]
Ou você pode transformar isso em um cron job e, se ele produzir alguma saída, ele enviará um email para os usuários. Você pode editar o arquivo / etc / aliases (e depois executar o comando newaliases) para enviar e-mail para o endereço, não na caixa.
Ex da entrada do cron (você não poderá definir a linha de assunto com
1 0 * * * grep line /var/log/file
Ou você pode pegar o utilitário ifne - provavelmente é o que você quer
linha grep / var / log / file | ifne mail -s Log [email protected]
O comando ifne está disponível no epo repo para centos e RHEL. Não consigo encontrar um link para a página de manual on-line, mas lá está
ifne(1)
ifne(1)NAME ifne - Run command if the standard input is not empty
SYNOPSIS ifne [-n] command
DESCRIPTION ifne runs the following command if and only if the standard input is not empty.
OPTIONS -n Reverse operation. Run the command if the standard input is emp- ty.
Note that if the standard input is not empty, it is passed through ifne in this case.
EXAMPLE find . -name core | ifne mail -s "Core files found" root
AUTHOR Copyright 2008 by Javier Merino
Licensed under the GNU GPL 2008-05-01 ifne(1)