在网上找了半天sh操作数据库的,也试了n久,结果都没成功!最后让别人帮我写了下,现在贴出来,共享下,哈哈!
Unix:centos4.2
DB:mysql5.1
- #!/bin/bash
- #链接数据库的用户名和密码
- user=test
- pwd=123456
- #得到当前时间
- sqlpart=$(date --date='today' "+%Y-%m-%d")
- #数据库:dbtest 表:test
- sql2="select count(*) as '${sqlpart}-test' from dbtest.test where online > '$sqlpart 00:00' and online < '$sqlpart 23:59';"
- #要查询的数据库地址
- sql2server="192.168.10.1 192.168.10.2 192.168.10.3 192.168.10.4 192.168.10.5 192.168.10.6"
- for eachone in $sql2server
- do
- echo -e "/n-"$eachone"-" >> /usr/local/src/4.sql
- #将查询的结果输出到/usr/local/src/4.sql文本中
- mysql -h $eachone -u $user -p$pwd -e "$sqlString" >> /usr/local/src/4.sql
- done
在这个中间,也有个小小的插曲,就是这个脚本我是在xp上下的,结果放到unix下运行时,报no such directory!怀疑是文件格式的问题,在网上找了下,用notepad++进行了下转换就好了,具体的就是选中文件,在Format下有个Convert to Unix Format就可以了!