The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Скрипт для сканирования лога dmesg
Вот возникла необходимость в постоянном сканировании лога dmesg и выполнении определенных действий.
Возможно общественности пригодится.

#!/bin/bash
#
# simple scan dmesg
#
# event files:
#    DEBUG=0
#    STRING="scaning dmesg string"
#    EXEC="command"
#

EVENTDIR=/etc/scan-dmesg

sleep 2

if [ ! -e "$1" ]; then
    TMPFILE=`mktemp`
    dmesg > $TMPFILE
    $0 $TMPFILE &
    exit 0
fi

if [ "`dmesg | diff $1 -`" ] ; then
    TMPFILE=`mktemp`
    dmesg > $TMPFILE
    for FILE in $EVENTDIR/* ; do
        . $FILE
        if diff $1 $TMPFILE | grep -q "$STRING" ; then
            $EXEC > /dev/null 2>&1
            if [ $DEBUG ] ; then
                echo "`date` $0: for event $FILE exec $EXEC" >> /var/log/scan-dmesg
            fi
        fi
    done
    rm -rf $1
    $0 $TMPFILE &
    exit 0
fi

$0 $1 &

exit 0
 
15.03.2005 , Автор: Андрей
Ключи: log, shell, script / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Shell / Готовые скрипты

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру