为了使切换的过程更高效并解放自己的双手,编写了简单的shell脚本,定时抓取连接并存储至核心数据库,简单的例子:#!/bin/bash
StatFile="/var/log/status/processlist.txt"
#获取IP信息
IP=`/sbin/ifconfig | egrep -A 1 "eth[0-4] " | egrep "inet " | egrep -v "192.168|:10."| awk -F‘[ :]+‘ ‘{print $4}‘ | sed -n "1p"`
if [[ $IP = ‘‘ ]]
then
IP=`/sbin/ifconfig | egrep -A 1 "eth[0-4] " | egrep "inet " | egrep "192.168|:10."| awk -F‘[ :]+‘ ‘{print $4}‘ | sed -n "1p"`
fi
# port.txt 存储端口号
cat /var/log/port.txt | while read port
do
/bin/mysql -h数据库IP -uroot -p‘密码‘ -P$port information_schema -Bse "select ‘$IP‘,‘$port‘,user,substring_index(host,‘:‘,1) as host from PROCESSLIST where user not in (‘root‘,‘system user‘) group by user,substring_index(host,‘:‘,1);" > $StatFile
# 此处将show processlist信息存入文件,也可直接循环执行
# 将文件中信息存入核心数据库,忽略表结构
cat $StatFile | while read ip port username host
do
/bin/mysql -h数据库IP -u用户名 -p 密码’ -P端口 库名 -Bse "insert into mysql_db_proce(db_ip,port,username,app_host) values (‘$IP‘,‘$port‘,‘$username‘,‘$host‘);"
done
done