手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >使用shell检查并修复mysql数据库表的脚本
使用shell检查并修复mysql数据库表的脚本
摘要:复制代码代码如下:#!/bin/sh#codebyscpman#功能:检查并修复mysql数据库表#将此脚本加到定时中,脚本执行时,等会读库...

复制代码 代码如下:

#!/bin/sh

#code by scpman

#功能:检查并修复mysql数据库表

#将此脚本加到定时中,脚本执行时,等会读库,列出要修复的所有表,然后计时,开始修复

#修复过程中将损坏的表记录下来,修复完成后,将损坏的表,发邮件通知。

fix_logs='/tmp/fix.log'

user=''

pass=''

check_fix()

{

dblist=`/usr/bin/find /usr/dlm_db/mysql/ -type d | grep -vE "logs|_[1-9]|*bak|test"| sed -e "s#/usr/dlm_db/mysql/##g"`

echo start `date`>$fix_logs

for dbname in $dblist

do

echo $dbname

for tb_name in `/usr/bin/find /usr/dlm_db/mysql/$dbname -type f | awk -F'/' '{print $NF}' | awk -F'.' '{print $1}' | sort -

u`

do

mysql -u$user -p$pass $dbname<<fff>>$fix_logs

check table $tb_name;

repair table $tb_name;

FFF

done

done

echo `date` done>>$fix_logs

}

send_logs()

{

msgip=10.0.7.44

IP=`cat /etc/rc.conf | grep -E "ifconfig_[em1|bce1]" | awk '{print "IP:"$2}'| sed -n 1p `

fix_info=`grep -rE "Error|start|done" $fix_logs`

/usr/bin/logger -p local1.info -h $msgip "the services: $IP mysql_table_fix_info:$fix_info"

}

check_fix

send_logs

【使用shell检查并修复mysql数据库表的脚本】相关文章:

用shell+sendmail实现服务器监控报警小脚本

expect自动检测并重启另外一台服务器上的程序代码

两个备份数据库的shell脚本

用来查看linux内存使用情况的shell脚本

用shell命令读取与输出数据的代码

shell自定义函数的6个特点总结

通过shell进行数学运算的多种方式

shell对比文件内容脚本分享

用shell脚本在mysql表中批量插入数据的方法

LINUX下的流量监控shell脚本

精品推荐
分类导航