项目需要核对数据库表记录,由于表太多了,一一核对是相当痛苦的事情,于是临时写了2个超级简单的脚本,一个是核对mysql数据库表的脚本,另外一个是oracle数据库表的脚本,脚本如下:
 
核对mysql数据库表的shell脚本:
#!/bin/bash
for i in `cat /root/mysql_tables.txt
do
dir=$(mysql -u root -p123456 -e "select count(*) from xxt.$i" |grep -v "count" )
echo -e "$i\t\t$dir">>/root/mysql_check.txt
done
说明: mysql_tables.txt是你要核对的数据库表的文件,mysql_check.txt是核对以后的数据库表和记录数对应的关系文件.
 
#!/bin/bash
for i in `cat /home/nagios/oracle_xxt_tables.txt`
do
dir_2=`sqlplus -silent xxt/xxt@ora10 <<END
select count(*) from $i;
exit;
END`
echo -e "$i\t\t$dir_2" >>/root/xxt.txt
done

说明: oracle_xxt_tables.txt是你要核对的数据库表的文件,xxt.txt是核对以后的数据库表和记录数对应的关系文件.
这样就很方便的批量检测数据库表记录数了,节省了很多时间.