#!/bin/bash
if [ "$1" == "" ]
then
echo "Please input mysqld port number 21001-21007"
elif ([ "$1" != "21001" ] && [ "$1" != "21002" ] && [ "$1" != "21003" ]&& [ "$1" != "21004" ] && [ "$1" != "21005" ] && [ "$1" != "2
1006" ] && [ "$1" != "21007" ])
then
echo "Please input mysqld port number 21001-21007"
else
while(true)
do
./mysqlreport --user=root --password=@123456 --socket=/usr/local/mysql/tmp/mysql-$1.sock >report.log
sed '76,122d' report.log //由于我使用的MyISAM引擎,在这里我过滤了所有的InnoDB信息
rm -fr report.log
sleep $2
echo -e '\n'
echo "##########################################################################################################################"
echo -e '\n'
done
fi
~
if [ "$1" == "" ]
then
echo "Please input mysqld port number 21001-21007"
elif ([ "$1" != "21001" ] && [ "$1" != "21002" ] && [ "$1" != "21003" ]&& [ "$1" != "21004" ] && [ "$1" != "21005" ] && [ "$1" != "2
1006" ] && [ "$1" != "21007" ])
then
echo "Please input mysqld port number 21001-21007"
else
while(true)
do
./mysqlreport --user=root --password=@123456 --socket=/usr/local/mysql/tmp/mysql-$1.sock >report.log
sed '76,122d' report.log //由于我使用的MyISAM引擎,在这里我过滤了所有的InnoDB信息
rm -fr report.log
sleep $2
echo -e '\n'
echo "##########################################################################################################################"
echo -e '\n'
done
fi
~
本文介绍了一个使用bash编写的脚本,该脚本用于周期性地生成MySQL服务器的状态报告,并针对MyISAM引擎过滤掉InnoDB相关信息。脚本接受两个参数:MySQL端口号及报告生成间隔时间。
272

被折叠的 条评论
为什么被折叠?



