定期检测数据库大小
首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!
我会在当天或者第二天及时回复,并且改进~~
#!/bin/bash
time=$(date +%Y-%m-%d)
path="/usr/local/mysql/data"
S_C9="root@172.16.1.19"
S_C11="root@172.16.1.21"
S_C12="root@172.16.1.22"
echo $time >> /tmp/db_size.txt
TRADE_size=$(ssh ${S_C9} "du -sm ${path}/dbdata_3306/trade" | awk '{print $1}')
PRODUCT_size=$(ssh ${S_C9} "du -sm ${path}/dbdata_3307/product" | awk '{print $1}')
USER_size=$(ssh ${S_C9} "du -sm ${path}/dbdata_3308/user" | awk '{print $1}')
BBS_size=$(ssh ${S_C11} "du -sm ${path}/dbdata_3306/bbs" | awk '{print $1}')
EXCESS_size=$(ssh ${S_C11} "du -sm ${path}/dbdata_3307/excess" | awk '{print $1}')
SC_size=$(ssh ${S_C11} "du -sm ${path}/dbdata_3308/sc" | awk '{print $1}')
CMS_size=$(ssh ${S_C12} "du -sm ${path}/dbdata_3306/cms" | awk '{print $1}')
ACT_size=$(ssh ${S_C12} "du -sm ${path}/dbdata_3307/act" | awk '{print $1}')
MARKET_size=$(ssh ${S_C12} "du -sm ${path}/dbdata_3308/market" | awk '{print $1}')
TOTAL=`expr $TRADE_size + $PRODUCT_sizei + $USER_size + $BBS_size + $EXCESS_size + $SC_size + $CMS_size + $MARKET_size`
echo "$time db_3306 TRADE size is ${TRADE_size}MB" >> /tmp/db_size.txt
echo "$time db_3307 PRODUCT size is ${PRODUCT_size}MB" >> /tmp/db_size.txt
echo "$time db_3308 USER size is ${USER_size}MB" >> /tmp/db_size.txt
echo "$time db_3306 BBS size is ${BBS_size}MB" >> /tmp/db_size.txt
echo "$time db_3307 EXCESS size is ${EXCESS_size}MB" >> /tmp/db_size.txt
echo "$time db_3308 SC size is ${SC_size}MB" >> /tmp/db_size.txt
echo "$time db_3306 CMD size is ${CMS_size}MB" >> /tmp/db_size.txt
echo "$time db_3307 ACT size is ${ACT_size}MB" >> /tmp/db_size.txt
echo "$time db_3308 MARKET size is ${MARKET_size}MB" >> /tmp/db_size.txt
echo "$time TOTAL size is ${TOTAL}MB" >> /tmp/db_size.txt
echo "" >> /tmp/db_size.txt
echo "" >> /tmp/db_size.txt
本文介绍了一个bash脚本,用于定期检测MySQL数据库中的多个表的大小并记录到文件中。
868

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



