时间:2021-07-01 10:21:17 帮助过:15人阅读
#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操作数据库
标签:shell脚本 登录 sel pkill abc base height 表结构 ace