mysql表自动刷新代码_一个简单的脚本 验证数据库用户注册自动刷新节点 附思路分析...

#!/bin/bash

clear

版权信息

判断是否在SSR目录下

if [ -e logrun.sh ]; then

echo

else echo 请将脚本放到SSR根目录下运行!

exit

fi

判断是否安装数据库

which mysql >mysqlpath

if [ $? -eq 1 ]; then

echo 数据库客户端未安装,正在执行安装...

sudo yum -y install mysql

else echo 检测到已安装数据库客户端...

fi

判断有无账号密码信息

if [ -e temp ]; then

username=$(cat temp| awk 'NR==1')

password=$(cat temp| awk 'NR==2')

dbname=$(cat temp| awk 'NR==3')

host=$(cat temp| awk 'NR==4')

else

如果是第一次运行那么录入账号密码保存到temp文件中

echo date -d"1 week ago" +"%F %H:%M:%S"  首次运行,开始配置...

echo -n 请输入远程数据库用户名:

read username

echo $username >>temp

echo -n 请输入远程数据库密码:

stty -echo

read password

stty echo

echo $password >>temp

echo

echo -n 请输入远程数据库名:

read dbname

echo $dbname >>temp

echo -n 请输入远程数据库地址:

read host

echo $host >>temp

echo

echo 信息录入完成,正在执行操作...

fi

测试数据库连接,账号密码没错的话就继续操作

echo date -d"1 week ago" +"%F %H:%M:%S"  正在测试数据库连接...

dbtest=mysql -u$username -p$password -h$host $dbname <

if [ ! -n "$dbtest" ]; then

echo 数据库连接失败,请重新运行脚本!

rm -rf temp

exit

exit

else echo date -d"1 week ago" +"%F %H:%M:%S"  数据库连接成功!

fi

开始运行,先重启一下节点

echo date -d"1 week ago" +"%F %H:%M:%S"  节点重启中...

echo date -d"1 week ago" +"%F %H:%M:%S"  程序开始运行,重启节点 >>run.log

/bin/bash stop.sh

sleep 3s

/bin/bash logrun.sh

监测开始

echo $time 远程节点监测开始...

echo $time 当前每分钟监测一次节点...

set i=0

set j=0

最外层的for循环,定义一个无限循环

for((i=0;i<10;))

do

let "j=j+1"

读取数据库中的节点用户数量和用户信息

data0=mysql -u$username -p$password -h$host $dbname <

echo $data0 >count0

sed -i 's/id //g' count0

userdata0=mysql -u$username -p$password -h$host $dbname <

一分钟后再次读取数据库中的用户数量和用户信息

sleep 1m

data1=mysql -u$username -p$password -h$host $dbname <

echo $data1>count1

sed -i 's/id //g' count1

userdata1=mysql -u$username -p$password -h$host $dbname <

定义循环内的变量

time=date -d"1 week ago" +"%F %H:%M:%S"

开始判断

1.判断用户数据是否修改

if [[ $(cat count1) -eq $(cat count0) && $userdata0 != $userdata1 ]] ;then

/bin/bash stop.sh

sleep 3s

/bin/bash logrun.sh

echo $time 发现用户信息修改,节点更新完成!

echo $time 用户信息修改,更新节点... >>run.log

2.判断用户是否无操作

elif [[ $(cat count1) -eq $(cat count0) && $userdata0 == $userdata1 ]] ;then

echo date -d"1 week ago" +"%F %H:%M:%S" 节点第 $j 次监测中...

3.判断用户是否删除

elif [[ $(cat count1) -lt $(cat count0) ]] ;then

/bin/bash stop.sh

sleep 3s

/bin/bash logrun.sh

echo $time 发现用户删除,节点更新完成!

echo $time 用户删除,更新节点... >>run.log

4.判断用户是否注册

elif [[ $(cat count1) -gt $(cat count0) ]]; then

/bin/bash stop.sh

sleep 3s

/bin/bash logrun.sh

echo $time 发现用户注册,节点更新完成!

echo $time 用户注册,节点更新... >>run.log

else echo 出错了!

fi

done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值