发表于: 2016-03-10 02:22:10

2 894


第78天

今天完成的事情:

找到了统计班级满员发送邮件脚本不成功的原因,进行了修改,放到后台运行,用ps  -ef 命令查看了这个脚本一直在运行。

之前的脚本是执行一次就结束了,而不是一直在执行,出现这个问题的原因是,return 0这句指令的使用。脚本的思路是通过判断200ms内班级的status值,若为 0则表名有班级没满,会一个空的返回值。若status为1,有则返回值为空。然后通过判断返回值是否为空来判断要不要发送邮件。本意是想若返回值为空的时候,则不执行任何操作(用了一个return 0),若非空就发送邮件。错在了return 0这个上面,改成echo 就好了。

正确的脚本:

#!/bin/dash
while :
do
a=`date +%s%N |cut -b 1-13`
b=200
c=$(($a-$b))
#return_value=$(mysql -hxdylxdyl.mysql.rds.aliyuncs.com -ujnshuskill -pjnshuskill  skill -e "select oid from classes where status=1 and (update_at between '$c'and'$a' );")
echo "$return_value"
if [ "$return_value"="" ];then
   echo
else
   echo "班级已满,请增加班级。"|mail -s test  1692667299@qq.com
fi
sleep 0.2;
done

可以多加几个if语句来判断$return_value的具体值,从而能明确是哪个班级满了。

if [ "$return_value"="" ];then
   echo
else

case  $return_value in

1) echo "CSS班级已满,请增加班级。"|mail -s test  1692667299@qq.com

2)echo "JS班级已满,请增加班级。"|mail -s test  1692667299@qq.com

3) echo "IOS班级已满,请增加班级。"|mail -s test  1692667299@qq.com

4)echo "Andriod班级已满,请增加班级。"|mail -s test  1692667299@qq.comsleep 0.2;

5)echo "JAVA班级已满,请增加班级。"|mail -s test  1692667299@qq.comsleep 0.2;

6)echo "OP班级已满,请增加班级。"|mail -s test  1692667299@qq.comsleep 0.2;

7)echo "PM班级已满,请增加班级。"|mail -s test  1692667299@qq.comsleep 0.2;

8)echo "UI班级已满,请增加班级。"|mail -s test  1692667299@qq.comsleep 0.2;

fi
done

复习linux的基本的指令和操作,并在电脑上实际操作。

遇到的问题:读mysql的二进制日志没能成功,原因是没怎么看懂教程。

每天要去面试。


返回列表 返回列表
评论

    分享到