LINUX.ORG.RU

собрать команду rrdtool в скрипте используя for и if

 , , ,


0

1
CreateGraph () {
if [ -n "$(ps aux | grep rrdtool | grep -v grep)" ] ; then
	return
 fi

rrdtool graph \
/var/www/monitoring/sw/sw$1/errors"$1"_In.png \
--imgformat PNG \
--width 500 \
--height 200 \
for (( count = 1; count<26; count++ ))
do
In=$(snmpget -v2c -c public 192.168.15.$1 1.3.6.1.2.1.2.2.1.14.$count | awk {'print $4'})
	if (( $In != 0 ))
	then
DEF:In1=/var/www/monitoring/sw/sw$1/errors"$1"_1.rrd:errIn:AVERAGE LINE2:In1#${color[1]}:"In err 1\t" \
GPRINT:In1:MAX:"Max %5.0lf %s" \
GPRINT:In1:LAST:"Current %5.0lf %s\\n" \
	fi
done
DEF:In25=/var/www/monitoring/sw/sw$1/errors"$1"_25.rrd:errIn:AVERAGE LINE2:In25#${color[25]}:"In err 25\t" \
GPRINT:In25:MAX:"Max %5.0lf %s" \
GPRINT:In25:LAST:"Current %5.0lf %s\\n"
}

кусок скрипта для отрисовки кривых графика, что то затупил. Как сделать чтобы не ругался \ - дело в этой штуке?

\ - дело в этой штуке?

Нет, тут весь скрипт - какая-то тарабарщина.

Black_Shadow ★★★★★
()

для этого есть переменные, которые сначала можно сформировать, а потом с ними запустить программу.

rrdtool не умеет сразу рисовать, он умеет показать данные взятые из базы. Отдельно «rrdtool update» и отдельно «rrdtool graph»

vel ★★★★★
()

ты хочешь сделать чтото типа такого, (ошибки синтаксиса не проверял). суть в том что rrdtool graph .... `for ... do echo опций для команды rrdtool ; done` DEF:...
короче как получится запустить, можешь запостить на govnokod.ru

rrdtool graph \
/var/www/monitoring/sw/sw$1/errors"$1"_In.png \
--imgformat PNG \
--width 500 \
--height 200 \
` for (( count = 1; count<26; count++ ))
do
In=$(snmpget -v2c -c public 192.168.15.$1 1.3.6.1.2.1.2.2.1.14.$count | awk {'print $4'})
	if (( $In != 0 ))
	then
echo -n "DEF:In1=/var/www/monitoring/sw/sw$1/errors"$1"_1.rrd:errIn:AVERAGE LINE2:In1#${color[1]}:\"In err 1\t\" "
echo -n "GPRINT:In1:MAX:\"Max %5.0lf %s\" "
echo -n "GPRINT:In1:LAST:\"Current %5.0lf %s\\n\" "
	fi
done ` \
DEF:In25=/var/www/monitoring/sw/sw$1/errors"$1"_25.rrd:errIn:AVERAGE LINE2:In25#${color[25]}:"In err 25\t" \
GPRINT:In25:MAX:"Max %5.0lf %s" \
GPRINT:In25:LAST:"Current %5.0lf %s\\n"
}

bl ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.