blob: fc6c19cf964312eedc6f817083cb7805a853fa9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/bin/bash
declare awkmatch="$2"
declare pidname="$1"
for i in "${@:3}"; do
awkmatch+="|$i"
done
pidfile="/var/run/vyatta/monitor/$pidname-`tty| sed -e s-/--g -e s/dev//g`.pid"
if [ -f $pidfile ]; then
pid=$(cat $pidfile)
processname=$(cat /proc/$pid/cmdline 2>/dev/null)
if [[ $processname =~ "tail" ]];then
echo -ne "\n You are already monitoring this service\n\n"
exit 0
fi
fi
{ ( tail -f -n0 /var/log/messages & echo $! >&3) 3> \
$pidfile \
| awk "/$awkmatch/{ \$5=\" $1:\"; for (f=5; f<=NF; ++f) {printf(\"%s \", \$f);}; printf(\"\n\") }" 2>&3 & \
} 3>&2 2>/dev/null; disown
|