在做一些日常的运维工作的时候,经常需要些一些shell脚本进行设备性能以及其它参数的监控。在过去的一年工作中,接触到的比较多的是对数据库中某些信息的监控。
于是就想到了用shell+MysqL+crontab进行实现。
MysqL -hhostname -Pport -uusername -ppassword-e相关MysqL的sql语句,不用在MysqL的提示符下运行MysqL,即可以在shell中操作MysqL的方法。
#!/bin/bash
HOSTNAME="192.168.111.84"
PORT="3306"
USERNAME="root"
PASSWORD=""
TABLENAME="test_table_test"#数据库中表的名称
#创建数据库
create_db_sql="create database IF NOT EXISTS${DBNAME}"
MysqL -h${HOSTNAME} -P${PORT} -u${USERNAME}-p${PASSWORD} -e "${create_db_sql}"
#创建表
create_table_sql="create table IF NOT EXISTS${TABLENAME} ( name varchar(20),id int(11) default 0)"
MysqL -h${HOSTNAME} -P${PORT} -u${USERNAME}-p${PASSWORD} ${DBNAME} -e "${create_table_sql}"
#插入数据
insert_sql="insert into ${TABLENAME}values('billchen',2)"
MysqL -h${HOSTNAME} -P${PORT} -u${USERNAME}-p${PASSWORD} ${DBNAME} -e "${insert_sql}"
#查询
select_sql="select * from${TABLENAME}"
MysqL -h${HOSTNAME} -P${PORT} -u${USERNAME}-p${PASSWORD} ${DBNAME} -e "${select_sql}"
#更新数据
update_sql="update ${TABLENAME} setid=3"
MysqL -h${HOSTNAME} -P${PORT} -u${USERNAME}-p${PASSWORD} ${DBNAME} -e "${update_sql}"
MysqL -h${HOSTNAME} -P${PORT} -u${USERNAME}-p${PASSWORD} ${DBNAME} -e "${select_sql}"
#删除数据
delete_sql="delete from${TABLENAME}"
MysqL -h${HOSTNAME} -P${PORT} -u${USERNAME}-p${PASSWORD} ${DBNAME} -e "${delete_sql}"
MysqL -h${HOSTNAME} -P${PORT} -u${USERNAME}-p${PASSWORD} ${DBNAME} -e "${select_sql}"