Возникла у меня такая вот необходимость, искал по инету ничего не нашел,
вот сделал:
#!/bin/bash
#
# simple scan dmesg
# event files:
# DEBUG=0
# STRING="scaning dmesg string"
# EXEC="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
в директории /etc/scan-dmesg создать файлы с содержимым:
DEBUG - для ведения лога
STRING - строка которую ловит grep
EXEC - команда на выполнение
Думаю может кому обязательно пригодится!
Форум —
Admin
