Shell脚本高级应用 --实现远程MySQL自动查询
这帖子这么冷. k+ s; x" U) ?
换个标题试试^_^  N* O9 f1 I" T4 H' H* U
" E6 U* a. U5 `7 Y5 S1 U
下面这个脚本是一个简单用来执行远程数据库查询的命令,相信大家都能看得懂,这对于有些需要每天自动检查数据库或是执行某些语句的兄弟,是很有帮助的,只要稍加修改就可以" J1 D4 `/ B; Q" |

  _( a+ v+ w; K  k: E; x9 H' D#!/bin/sh  ?' u! t2 m1 _2 t
HOST=192.168.5.40  I9 |; ~" }7 t0 p% c
USER=abc
% |1 @" V; ?* u/ ^9 ^* ?8 T0 ZPASS=123456" q6 C8 n8 a5 q3 z5 V1 }  |
QUERY=`mysql -h$HOST -u$USER -p$PASS << EOF* M# n2 i( r* l4 n/ V1 ~8 L1 t
               use testdb;
- A$ F0 Q( P( n' u" B               select * from person where name='LiMing';9 I$ M) ^) A1 z, G* D3 J; D1 x  H
               exit
2 F. }: O% a2 A4 j" ~4 i               EOF`9 m* D0 Q+ t" T, s
echo $QUERY) {. N, F6 O7 P0 P
! d" M2 h) C; S# t4 r7 Z: n# V! f2 K
" y, O' n* E' Q( O- z" g& ]$ A! Y
% Z% ~3 G! I0 V8 o' O6 ~
例如把这个脚本改成一个用来安全删除mysql二进程日志的脚本,Mysql主从同步的数据库二进制日志往往很大,手工删除文件又不×××全
: M3 N3 j# H& c, S! L& J& v6 Q) I: S8 x0 [8 _' ^
#!/bin/sh% E" k/ {+ X2 c
Host=192.168.5.30
, L- a' Q5 A6 S- I% u( k1 U5 EUser=abc) q7 z2 a; R5 E, ^% t
PW=1234562 k( q; M" P2 _& `
MSG=`mysql -h$Host -u$User -p$PW   <<EOF5 I' P7 O; ]* {) J" Y
          show master status;" j: g" u+ |9 U% {
          exit
1 J% x  ~2 W) g2 |# u% v; V5 O) b          EOF`
9 t' r" k, k+ G: wLOG=`echo  $MSG |awk '{print $5}'`! t( I8 D9 ?) E6 |- Z/ p
mysql -h$Host -u$User -p$PW << FOE
/ N( g& v) [& ]# {1 t1 C          purge master logs to "$LOG";3 u- m; q, i' s' d# x
          exit
: ]0 H1 l- E4 k1 k          FOE