小规模每日数据全备检测预警脚本

   2013年5月底,从某公司离职,转战兄弟手游公司。这是家创业型公司小规模,小团队。看了下生产环境,令人大跌眼镜。基本的监控、数据备份、资源管理等都没有。赶快麻利的把数据库备份搞起来,一切靠shell了,简单的本地一天一次的自定义任务全备脚本,然后通过ftp上传到中心备份机。在备份机上写一个自动备份检查脚本,备份正常的话来个健康预警,easy worek一整天。异常的话就邮件+短信方式拉报警,这样可以第一时间去检查备份。(短信讨巧于139邮箱,就不搞啥飞信的了),当然前提是启用sendmail服。shell 写的简单,基本效果达到。其实可以做的更细,比如对数据进一步分析,对比两日数据大小等等,靠后续完善了。后续一切上轨道了,界面化的备份检查模式肯定是必选的,后话了。


# check dbbackup

# by small

# 2013-05-28

DATE=`date +%Y%m%d`

>  /tmp/mail.log

for i in `ls /app/dbdata/`

do

if [ -a /app/dbdata/"$i"/"$i"_"$DATE".sql.gz ];then


  for space in `ls -lh /app/dbdata/$i/"$i"_$DATE.sql.gz | awk '{print $5}'`

  do

  for MD5  in `cat /app/dbdata/$i/"$i"_$DATE.sql.gz.MD5 | awk '{print $1}'`

  do

  echo -e ""$i"_$DATE($space) has backup." >> /tmp/mail.log

  echo -e ""$i"_MD5($MD5) is wright." >> /tmp/mail.log

  done

  done

else

  echo -e "ERROR:$i_$DATE has not backup.please check it." >> /tmp/mail.log

fi

done

echo -e "\n"  >>  /tmp/mail.log

echo -e "Easy work."   >> /tmp/mail.log

echo -e `date +%Y`-`date +%m`-`date +%d`   >> /tmp/mail.log


mail -s "dbcheck-someone" -c [email protected] -c [email protected] < /tmp/mail.log


你可能感兴趣的:(shell,数据库备份,检测,短信,规模)