shell脚本编程学习笔记shell操作数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本编程学习笔记shell操作数据库相关的知识,希望对你有一定的参考价值。
一、数据库基本操作
1)登录mysql服务器:mysql -u root -p 密码
2)查看数据库:show databases
3)查看表:show tales from db;
4)查看表结构:desc table;
5)创建表:create table table();
6)查看表数据:select * from table;
7)插入数据:insert into table(f1,f2) values(‘v1‘,‘v2‘);
8)删除数据:delete from table where id=8;
9)修改表数据:update table t1 set f1=‘123‘,f2=‘abc‘ where id=8;
10)删除表:drop table t1;
11)删除数据库:drop database d1;
二、shell操作mysql之增、删、改、查
1)连接数据库
#!/bin/bash
#mysql.sh
mysql=‘mysql -uroot -proot‘
sql="show databases"
$mysql -e "$sql"
2)shell操作mysql之增、删、改、查
#!/bin/bash
#mysql1.sh
conn="mysql -uroot -proot"
case $1 in
select)
sql="查询语句"
;;
delete)
sql="删除语句"
;;
insert)
sql="插入语句"
;;
update)
sql="更新语句"
;;
esac
$conn -e "$sql"
三、apache日志分割及相关计划任务
#!/bin/bash
#logcut.sh
yesterday=`date -d yesterday +%Y%m%d`
srclog="/usr/local/apache2.4/logs/access_log"
dstlog="/usr/local/apache2.4/logsbak/access_${yesterday}.log"
mv $srclog $dstlog
pkill -HUP httpd //pkill -1 httpd 重新读取日志文件
crontab -e //任务计划
00 00 *** /mnt/logcut.sh
crontab -l //查看任务计划
四、apache日志统计之mysql数据库
结合日志分割同时对日志进行统计存入数据库
#!/bin/bash
#logpv.sh
yesterday=`date -d yesterday +%Y%m%d`
srclog="/usr/local/apache2.4/logs/access_log"
dstlog="/usr/local/apache2.4/logsbak/access_${yesterday}.log"
mv $srclog $dstlog
pkill -1 httpd
cat /usr/local/apache2.4/logsbak/access_20171125.log|awk ‘{print $1}‘|sort|uniq -c|awk ‘{print $1":"$2}‘ > a.txt //这里的目录及文件名可以是$dstlog
mysql="mysql -uroot -proot"
for i in `cat a.txt`
do
pv=`echo $i|awk -F: ‘{print $1}‘`
ip=`echo $i|awk -F: ‘{print $2}‘`
sql="insert into text.countab(date,ip,num) value(‘$yesterday‘,‘$ip‘,‘$pv‘)"
$mysql -e "$sql"
done
rm -rf a.txt
sql="select * from text.countab order by id"
$mysql -e "$sql"
crontab -e //任务计划
00 00 *** /mnt/logcut.sh
crontab -l //查看任务计划
以上是关于shell脚本编程学习笔记shell操作数据库的主要内容,如果未能解决你的问题,请参考以下文章