freeswitch/scripts/freeswitch-reporter

30 lines
675 B
Bash

#!/bin/sh
email=traces@freeswitch.org
errorlvl=1
while [ $errorlvl -gt 0 ]
do
/usr/local/freeswitch/bin/freeswitch -core
errorlvl=$?
if [ $errorlvl -gt 0 ]; then
pid=$(cat /usr/local/freeswitch/log/freeswitch.pid)
corefile=core.$pid
tempfile=$(tempfile)
if [ -f $corefile ]; then
reset
echo From: freeswitch@jasongarland.com >>$tempfile
echo >>$tempfile
echo >>$tempfile
echo Host: $(hostname -f) >>$tempfile
gdb /usr/local/freeswitch/bin/freeswitch -c $corefile \
--eval-command='set pagination off' \
--eval-command='bt full' \
--eval-command='quit' >>$tempfile
cat $tempfile|rmail $email
rm $tempfile
fi
fi
#sleep 5s
done