標籤:shell指令碼 登入 sel pkill abc base height 表結構 ace
一、資料庫基本操作
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操作資料庫