本帖最后由 胡鹏飞 于 2015-6-28 09:27 编辑
铭哥:
这是关于shell编程的邮件报警系统的问题。
你在主文件 main.sh定义了全局变量 log,然而你在502.sh 脚本中使用全局变量log:c_502=`grep :$d: $log |grep ' 502 '|wc -l` 时感觉你是想让grep过滤的是logfile=/data/log/www.xxx.com/access.log文件,而不是你在主配置文件定义的export log=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'` 。
说的有点乱,总之就是对于你定义的log全局变量export log=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'`我没看懂。
铭哥:
这是关于shell编程的邮件报警系统的问题。
你在主文件 main.sh定义了全局变量 log,然而你在502.sh 脚本中使用全局变量log:c_502=`grep :$d: $log |grep ' 502 '|wc -l` 时感觉你是想让grep过滤的是logfile=/data/log/www.xxx.com/access.log文件,而不是你在主配置文件定义的export log=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'` 。
说的有点乱,总之就是对于你定义的log全局变量export log=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'`我没看懂。
2015-06-18shell编程3【告警系统】
0
access.log文件只是局部变量只能在mon.conf中使用,而$log中log变量使用的是在main.sh所定义的=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'` ,但是根据我理解在502.sh中$log所想使用的是过虑access.log这个文件的内容,但是实际代码上我感觉不像。 所以我就是不能理解=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'` 这段代码到底是啥意识。
模范棒棒糖 发表于 2015-6-28 11:20
你说的log变量就是access.log文件啊。mon.conf里面定义的logfile也是这个文件。
access.log文件只是局部变量只能在mon.conf中使用,而$log中log变量使用的是在main.sh所定义的=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'` ,但是根据我理解在502.sh中$log所想使用的是过虑access.log这个文件的内容,但是实际代码上我感觉不像。 所以我就是不能理解=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'` 这段代码到底是啥意识。
0
`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'`这一段的意思就是$log变量的内容啊。
就是access.log文件;这个就是声明全局变量$log;
就是access.log文件;这个就是声明全局变量$log;
0
谢谢!弄懂了,执行一下=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'` 发现是过滤mon.conf文件内log日志的绝对路径,若不过滤则后面引用的是logfile=/data/log/xxx.xxx.com/access.log,一过滤后显示的是/data/log/xxx.xxx.com/access.log,这样就是后面所能用的,谢谢勇哥啊!
模范棒棒糖 发表于 2015-6-29 15:58
`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'`这一段的意思就是$log变量的内容啊 ...
谢谢!弄懂了,执行一下=`grep 'logfile=' $conf_file |awk -F '=' '{print $2}' |sed 's/ //g'` 发现是过滤mon.conf文件内log日志的绝对路径,若不过滤则后面引用的是logfile=/data/log/xxx.xxx.com/access.log,一过滤后显示的是/data/log/xxx.xxx.com/access.log,这样就是后面所能用的,谢谢勇哥啊!
编辑回复