Скрипт для сканирования лога 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
|
|
|
|
Раздел: Корень / Программисту и web-разработчику / Shell / Готовые скрипты |