shell在指定目录下批量执行sql脚本的实例
如下所示:
#!/bin/bash #executeallscriptinspecifieddirectory MYDATE=`date+%F'-'%T'-'%w` MYSQL_PATH=/tmp/scripts#指定的目录 LOG_FILE=/tmp/scripts/exec_${MYDATE}.log confirm= db_name= db_pass= forfilein${MYSQL_PATH}/* do if[-f"$file"];then postfix=`echo$file|awk-F'.''{print"."$NF}'` if[$postfix=".sql"];then if[!$db_name];then#如果没有指定数据库 read-p"请输入数据库名:"db_name read-p"你输入的数据名是【$db_name】,确认继续请输入--yes--:"confirm fi if["$confirm"="yes"]&&[-n$confirm];then if[!$db_pass];then#如果没有设置密码 stty-echo#密码输入保护关闭显示 read-p"请输入数据库密码:"db_pass echo-e"\n" sttyecho fi mysql-uroot-p$db_pass-P3306--default-character-set=utf8${db_name}<$file>&error.log echo$file echo-e"\n===========$file=============\n">>${LOG_FILE} caterror.log>>${LOG_FILE}#输出执行日志 error=`grepERRORerror.log`#读取错误日志信息 if[-n"$error"];then#如果有错误就退出程序 echo$error exit fi else echo"您已经取消操作!" exit fi fi fi done
以上这篇shell在指定目录下批量执行sql脚本的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。