shell脚本操作mysql通用脚本

作用:可以在写监控脚本时,将结果值保存到mysql数据库

使用方法:sh 脚本  库名称.表名称 字段=值 字段=值 字段=值

1、脚本

复制代码
[root@localhost tmp]# cat writ_mysql.sh
#!/bin/bash
#判断传入的参数
if [ $# -eq 0 ]
    then
      echo sh $0 table_name name=张三 xb=else
        #输入的参数转换函数 例子: name=张三 xb=1 转换成 name,xb '张三','1'
        convfield(){
                #数组索引
                j=1
                #获取输入的参数,排除第一个参数
                for i in "${@:2}"
                  do 
                   #获取name名称
                   name[$j]=$(echo $i|awk -F = '{print $1}')
                   #获取name的值
                   value[$j]=\'$(echo $i|awk -F = '{print $2}')\'
                   #查看字段名称和值
                   #echo ${name[$j]}=${value[$j]}
                   #索引加1
                   j=$((j+1))
                  done
                #拼接成sql的name和value
                new_name=$(echo ${name[@]}|sed 's/ /,/g')
                new_value=$(echo ${value[@]}|sed 's/ /,/g')

                echo "$1($new_name) values($new_value)"
            }

        jdbcinfo(){
                user=root
                pass='password'
                ip=192.168.1.1
                port=3306
              }
        #将所有参数传递给转换函数,进行转换
        convfield $@
        jdbcinfo


        #将值插入指定表字段
        mysql -u$user -h$ip -P $port -p$pass -e \
        "insert into $1($new_name) values($new_value)"

        #查询对应表数据
        mysql -u$user -h$ip -P $port -p$pass -e \
        "select * from $1" 
fi

复制代码

2、执行

复制代码
[root@localhost tmp]# sh writ_mysql.sh nginx_info.test name=周末
nginx_info.test(name) values('周末')
+----+--------+---------------------+--------+
| id | name   | date                | bz     |
+----+--------+---------------------+--------+
|  1 | zhangs | 2022-07-11 15:15:51 | 测试   |

| 13 | 周末   | NULL                | NULL   |
+----+--------+---------------------+--------+
复制代码

 

posted @   苍茫宇宙  阅读(1621)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
历史上的今天:
2020-07-12 nginx配置https服务
2020-07-12 oracle数据库灾难恢复
2020-07-12 rman配置操作
点击右上角即可分享
微信分享提示