File: //usr/syno/sbin/adjust_kern_level
#!/bin/sh
SYSLOG_CONF=/etc/syslog-ng/patterndb.d/kernel.conf
SYSLOG_CONF_BAK=/etc/syslog-ng/patterndb.d/kernel.conf.bak
restore_config()
{
cp $SYSLOG_CONF_BAK $SYSLOG_CONF
}
parsing_log_level()
{
case $1 in
7)
log_level="debug"
;;
6)
log_level="info"
;;
5)
log_level="notice"
;;
4)
log_level="warning"
;;
3)
log_level="err"
;;
2)
log_level="crit"
;;
1)
log_level="alert"
;;
0)
log_level="emerg"
;;
*)
restore_config
exit 0
;;
esac
}
adjust_kernel_loglv()
{
# Get line num of kernel level
result=`egrep "and level\(.*\)" $SYSLOG_CONF -n | awk -F ':' '{print $1}'`
# replace log level
for line in $result
do
if [ ! -z "$line" ]; then
sed -i -e "${line}s/level(.*\.\.emerg)/level($log_level\.\.emerg)/" $SYSLOG_CONF
fi
done
}
if [ ! -f $SYSLOG_CONF_BAK ]; then
cp $SYSLOG_CONF $SYSLOG_CONF_BAK
fi
parsing_log_level $1
adjust_kernel_loglv
synoservice --reload syslog-ng