作用:可以在写监控脚本时,将结果值保存到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 |
+----+--------+---------------------+--------+

shell脚本操作mysql通用脚本的更多相关文章

  1. shell脚本操作mysql数据库

    shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql  -hhostname -Pport -uusername -pp ...

  2. shell脚本操作mysql库

    shell脚本操作mysql数据库-e参数执行各种sql(指定到处编码--default-character-set=utf8 -s,去掉第一行的字段名称信息-N) 2011-05-11 18:18: ...

  3. shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作

    mysql  -hhostname -Pport -uusername -ppassword  -e  相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作m ...

  4. shell脚本--操作MySQL数据库

    其实就是一个很简单的套路,和其他语言差不多,首先连接数据库,然后在进行其他操作. 套路如下: #!/bin/bash mysql="mysql -uroot -proot" #连接 ...

  5. shell脚本操作mysql数据库—创建数据库,在该数据库中创建表(插入,查询,更新,删除操作也可以做)

    #!/bin/bash HOSTNAME="192.168.1.224"                                           #数据库Server信 ...

  6. pymysql操作mysql的脚本示例

    #!/usr/bin/env python#-*- coding:UTF-8 -*- from multiprocessing import Process , Queuefrom queue imp ...

  7. Shell脚本中执行sql语句操作mysql

    对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的 ...

  8. shell执行mysql的脚本(包括mysql执行shell脚本)

    在Shell中执行mysql的脚本,这里介绍比较容易使用的一种方法 首先写好sql的脚本,后缀为.sql,比如 sql_file.sql:内容如下 #这是SQL的脚本create table if n ...

  9. linux下的shell操作mysql

    (1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local ...

  10. Shell操作mysql数据库

    From : http://www.2cto.com/database/201306/220570.html Shell操作mysql数据库   mysql  -hhostname -Pport -u ...

随机推荐

  1. SQLServer中使用between查询日期

    SQL Server中字段是Datetime型 以" YYYY-MM-DD 00:00:00" 存放的 between and是包括边界值的,not between不包括边界值,不 ...

  2. 快速居中对齐 flex+margin auto

  3. CVE-2020-1938 Tomcat AJP漏洞复现

    一  漏洞环境 # vulhub靶场地址 https://github.com/vulhub/vulhub靶场还需要有python环境,pip,docker docker-composeGitHub上 ...

  4. Flink RocksDB参数调优说明

    参数名 说明 state.backend.rocksdb.block.blocksize block 的大小,默认值为4KB.在生产环境中总是会适当调大一些,一般32KB比较合适,对于机械硬盘可以再增 ...

  5. lua 调用C函数

    #include "tolua_fix.h" #include "WordFilter.h" #include "LuaBasicConversion ...

  6. Python学习的第四次总结

    修改文件内某行内容 f_read = open('文件名','r',encoding='utf-8')f_write = open('文件名1','w',encoding='utf-8')number ...

  7. Go组件库总结之无等待锁

    本篇文章我们用Go封装一个无等待锁库.文章参考自:https://github.com/brewlin/net-protocol 1.锁的封装 type Mutex struct { v int32 ...

  8. PHY6230 高性价比低功耗高性能 集成32-bit MCU BLE5.2+2.4G芯片

    PHY6230 是一款高性价比低功耗高性能Bluetooth LE 5.2系统级芯片,集成32-bit高性能低功耗MCU,16KB OTP,8KB Retention SRAM和64KB ROM,可选 ...

  9. delphi get post

    procedure GetDemo;var IdHttp : TIdHTTP; Url : string;//请求地址 ResponseStream : TStringStream; //返回信息 R ...

  10. android root app 无法umount

    app已经有root权限了. 在执行umount /sbin时候总是不成功,但是在adb 的shell 里是可以的. 研究半天后发现,原来app的mount 空间被修改了. 用以下方法解决问. ech ...