来自RRDTool图表脚本

时间:2017-11-14 13:39:32

标签: bash shell rrdtool

当运行一组脚本的一个版本(适用于RRDTool)时,你会尝试更多相同的......

制作了lua脚本的版本,现在收集power / energy-info,相关文件create_pipower1A_graph.sh是RRDTool, How to get png-files by means of os-execute-call from lua-script?

中描述的运行sh-file的无错误文件的直接衍生物。

派生sh文件应生成一个图形,其中包含3个逆变器的输出和并行消耗。 用于图形输出的sh文件在下面。

#!/bin/bash
rrdtool graph /home/pi/pipower1.png \
  DEF:Pwr_MAC=/home/pi/pipower1.rrd:Power0430:AVERAGE \
  DEF:Pwr_SAJ=/home/pi/pipower1.rrd:Power1530:AVERAGE \
  DEF:Pwr_STECA=/home/pi/pipower1.rrd:Power2950:AVERAGE \
  DEF:Pwr_Cons=/home/pi/pipower1.rrd:Power_Cons:AVERAGE \
  LINE1:Pwr_MAC#ff0000:Output Involar \
  LINE1:Pwr_SAJ#0000ff:Output SAJ1.5 \
  LINE1:Pwr_STECA#5fd00b:Output STECA \
  LINE1:Pwr_Cons#00ffff:Consumption \
  COMMENT:"\t\t\t\t\t\t\l" \
  COMMENT:"\t\t\t\t\t\t\l" \
  GPRINT:Pwr_MAC:LAST:"Output_Involar   Latest\: %2.1lf" \
  GPRINT:Pwr_MAC:MAX:"  Max.\: %2.1lf" \
  GPRINT:Pwr_MAC:MIN:"  Min.\: %2.1lf" \
  COMMENT:"\t\t\t\t\t\t\l" \
  GPRINT:Pwr_SAJ:LAST:"Output SAJ1.5k   Latest\: %2.1lf" \
  GPRINT:Pwr_SAJ:MAX:"  Max.\: %2.1lf" \
  GPRINT:Pwr_SAJ:MIN:"  Min.\: %2.1lf" \
  COMMENT:"\t\t\t\t\t\t\l" \
  GPRINT:Pwr_STECA:LAST:"Output STECA   Latest\: %2.1lf" \
  GPRINT:Pwr_STECA:MAX:"  Max.\: %2.1lf" \
  GPRINT:Pwr_STECA:MIN:"  Min.\: %2.1lf" \
  COMMENT:"\t\t\t\t\t\t\l" \
  GPRINT:Pwr_Cons:LAST:"Consumption    Latest\: %2.1lf" \
  GPRINT:Pwr_Cons:MAX:"  Max.\: %2.1lf" \
  GPRINT:Pwr_Cons:MIN:"  Min.\: %2.1lf" \
  COMMENT:"\t\t\t\t\t\t\l" \
  --width 700 --height 400 \
  --title="Graph B: Power Production & Consumption for last 24 hour" \
  --vertical-label="Power(W)" \
  --watermark "`date`"

lua-script再次运行没有错误,因此rrd文件定期更新,生成图形输出, 没有图形出现!测试了2种不同的覆盆子,但反应没有差异。 从命令行运行sh文件create_pipower1A_graph会产生以下错误。

pi@raspberrypi:~$ sudo /home/pi/create_pipower1A_graph.sh
ERROR: 'I' is not a valid function name
pi@raspberrypi:~$ ./create_pipower1A_graph.sh
ERROR: 'I' is not a valid function name

问题:困惑,因为在sh文件中没有我作为函数命令应用。说明?提示补救此错误?

1 个答案:

答案 0 :(得分:0)

你的问题在这里:

LINE1:Pwr_MAC#ff0000:Output Involar \
LINE1:Pwr_SAJ#0000ff:Output SAJ1.5 \
LINE1:Pwr_STECA#5fd00b:Output STECA \
LINE1:Pwr_Cons#00ffff:Consumption \

这些行需要引用,因为它们包含空格和哈希符号。

LINE1:"Pwr_MAC#ff0000:Output Involar" \
LINE1:"Pwr_SAJ#0000ff:Output SAJ1.5" \
LINE1:"Pwr_STECA#5fd00b:Output STECA" \
LINE1:"Pwr_Cons#00ffff:Consumption" \