Detectar e enviar e-mail novas linhas em um arquivo de texto no linux

3

Existe este ficheiro de registo, ao qual gostaríamos de nos manter atentos. Geralmente não recebe atualizações. Mas, uma ou duas vezes por semana, ele é atualizado e, quando isso acontece, queremos ser notificados sobre isso.

Existe alguma maneira de verificar rotineiramente (cron-job) e detectar mudanças em tal arquivo de texto e ter o linux enviando um e-mail sobre a mudança. Também seria ótimo se o email incluísse as novas linhas, mas podemos viver sem o último desejo.

    
por Haluk 02.08.2012 / 02:59

2 respostas

3

Para um sistema de teste de conteúdo de arquivo rápido e sujo, recomendamos o uso de Monit e seu serviço de conteúdo de arquivo teste . Por padrão, o daemon do Monit irá verificar a cada 30 ou 60 segundos (configurável), mas é uma maneira fácil de fazer o que você está pedindo. Uma notificação por email ou outra ação é fácil de configurar em cima disso.

Seu exemplo:

  check file syslog with path /var/log/syslog
    ignore match 
        "^\w{3} [ :0-9]{11} [._[:alnum:]-]+ monit\[[0-9]+\]:"
    ignore match /etc/monit/ignore.regex
    if match 
        "^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mrcoffee\[[0-9]+\]:"
    if match /etc/monit/active.regex then alert
    
por 02.08.2012 / 03:03
1

Se você estiver usando o Nagios, dê uma olhada no check_logfiles plugin:

Name       : check_logfiles
Arch       : x86_64
Version    : 3.4.2
Release    : 1.el5.rf
Size       : 167 k
Repo       : installed
Summary    : Logfile check  plugin for nagios
URL        : http://sourceforge.net/projects/check-logfiles
License    : GPL
Description: check_logfiles is a plugin for Nagios which searches for patterns in logfiles. It is capable of scanning
           : multiple logfiles and their rotated ancestors in a single run.

Por exemplo:

# /usr/lib64/nagios/plugins/check_logfiles --logfile='/var/log/mysqld.log' --criticalpattern='is marked as crashed'

OK - no errors or warnings|default_lines=0 default_warnings=0 default_criticals=0 default_unknowns=0

    
por 02.08.2012 / 10:15

Tags