shell查mysql_通过shell检查mysql主机和数据库,生成html报表的脚本

该脚本用于诊断MySQL主机和数据库的配置与性能,包括系统基本信息、CPU、内存、磁盘、网络信息,并生成HTML报表。通过连接到指定的MySQL服务器,收集数据库的状态信息,如连接、参数、对象统计等,并输出慢查询和锁信息。
摘要由CSDN通过智能技术生成

该脚本主要用于大致诊断MYSQL主机和数据库配置及性能收集,脚本部分功能展示如下:

5bab6cb51dff56958fbb80e45c0e8868.png

336f25f224598c210fd5bc14498ca54f.png

669478dca53a7a0cc732f28cadac7206.png

25dd5c5908f3591d0d68f825e34ea457.png

实现该上述展示功能的shell脚本如下:file_output='os_mysql_summary.html'

td_str=''

th_str=''

myuser="root"

mypasswd="password"

myip="192.168.11.101"

myport="3307"

mysql_cmd="mysql -u${myuser} -p${mypasswd} -h${myip} -P${myport} --protocol=tcp --silent"

create_html_css(){

echo -e "

body        {font:12px Courier New,Helvetica,sansserif; color:black; background:White;}

table,tr,td {font:12px Courier New,Helvetica,sansserif; color:Black; background:#FFFFCC; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;}

th          {font:bold 12px Courier New,Helvetica,sansserif; color:White; background:#0033FF; padding:0px 0px 0px 0px;}

h1          {font:bold 12pt Courier New,Helvetica,sansserif; color:Black; padding:0px 0px 0px 0px;}

}

create_html_head(){

echo -e "

$1

"

}

create_table_head1(){

echo -e "

}

create_table_head2(){

echo -e "

}

create_td(){

td_str=`echo $1 | awk 'BEGIN{FS="|"}''{i=1; while(i<=NF) {print "

"$i"";i++}}'`

}

create_th(){

th_str=`echo $1|awk 'BEGIN{FS="|"}''{i=1; while(i<=NF) {print "

"$i"";i++}}'`

}

create_tr1(){

create_td "$1"

echo -e "

$td_str

" >> $file_output

}

create_tr2(){

create_th "$1"

echo -e "

$th_str

" >> $file_output

}

create_tr3(){

echo -e "

 
 

`cat $1`

" >> $file_output

}

create_table_end(){

echo -e "

"

}

create_html_end(){

echo -e ""

}

NAME_VAL_LEN=12

name_val () {

printf "%+*s | %s\n" "${NAME_VAL_LEN}" "$1" "$2"

}

get_virtual () {

local file="/var/log/dmesg"

if grep -qi -e "vmware" -e "vmxnet" -e 'paravirtualized kernel on vmi' "${file}"; then

echo "VMWare";

elif grep -qi -e 'paravirtualized kernel on xen' -e 'Xen virtual console' "${file}"; then

echo "Xen";

elif grep -qi "qemu" "${file}"; then

echo "QEmu";

elif grep -qi 'paravirtualized kernel on KVM' "${file}"; then

echo "KVM";

elif grep -q "VBOX" "${file}"; then

echo "VirtualBox";

elif grep -qi 'hd.: Virtual .., ATA.*drive' "${file}"; then

echo "Microsoft VirtualPC";

else

echo "Physical Machine"

fi

}

get_physics(){

name_val "Date" "`date -u +'%F %T UTC'` (local TZ: `date +'%Z %z'`)"

name_val "Hostname" "`uname -n`"

name_val "Uptime" "`uptime`"

name_val "System" "`dmidecode -s "system-manufacturer" "system-product-name" "system-version" "chassis-type"`"

name_val "Service_num" "`dmidecode -s "system-serial-number"`"

name_val "Platform" "`uname -s`"

name_val "Release" "`cat /etc/{oracle,redhat,SuSE,centos}-release 2>/dev/null|sort -ru|head -n1`"

name_val "Kernel" "`uname -r`"

name_val "Architecture" "CPU=`lscpu|grep Architecture|awk -F: '{print $2}'|sed 's/^[[:space:]]*//g'`;OS=`getconf LONG_BIT`-bit"

name_val "Threading" "`getconf GNU_LIBPTHREAD_VERSION`"

name_val "SELinux" "`getenforce`"

name_val "Virtualized" "`get_virtual`"

}

get_cpuinfo () {

file="/proc/cpuinfo"

virtual=`grep -c ^processor "${file}"`

physical=`grep 'physical id' "${file}" | sort -u | wc -l`

cores=`grep 'cpu cores' "${file}" | head -n 1 | cut -d: -f2`

model=`grep "model name

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值