shell在指定目錄下批量執(zhí)行sql腳本的實例
更新時間:2018年06月19日 14:12:11 作者:lihengfang
今天小編就為大家分享一篇shell在指定目錄下批量執(zhí)行sql腳本的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
#!/bin/bash #execute all script in specified directory MYDATE=`date +%F'-'%T'-'%w` MYSQL_PATH=/tmp/scripts #指定的目錄 LOG_FILE=/tmp/scripts/exec_${MYDATE}.log confirm= db_name= db_pass= for file in ${MYSQL_PATH}/* do if [ -f "$file" ] ; then postfix=`echo $file | awk -F'.' '{print "."$NF}'` if [ $postfix = ".sql" ] ; then if [ ! $db_name ] ; then #如果沒有指定數(shù)據(jù)庫 read -p "請輸入數(shù)據(jù)庫名:" db_name read -p "你輸入的數(shù)據(jù)名是【$db_name】,確認繼續(xù)請輸入--yes--: " confirm fi if [ "$confirm" = "yes" ] && [ -n $confirm ] ; then if [ ! $db_pass ] ; then #如果沒有設置密碼 stty -echo #密碼輸入保護關閉顯示 read -p "請輸入數(shù)據(jù)庫密碼:" db_pass echo -e "\n" stty echo 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} cat error.log >>${LOG_FILE} #輸出執(zhí)行日志 error=`grep ERROR error.log` #讀取錯誤日志信息 if [ -n "$error" ] ; then #如果有錯誤就退出程序 echo $error exit fi else echo "您已經(jīng)取消操作!" exit fi fi fi done
以上這篇shell在指定目錄下批量執(zhí)行sql腳本的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
shell 生成隨機數(shù)的實現(xiàn)方法總結(jié)
這篇文章主要介紹了 shell 生成隨機數(shù)的實現(xiàn)方法總結(jié)的相關資料,希望通過本能幫助到大家,讓大家徹底掌握這幾種隨機數(shù)的方法,需要的朋友可以參考下2017-09-09Shell腳本調(diào)快調(diào)慢系統(tǒng)時間(測試服務器時使用)
這篇文章主要介紹了Shell腳本修改系統(tǒng)時間(測試服務器時使用),本文腳本用于調(diào)快或者調(diào)慢系統(tǒng)時間,需要的朋友可以參考下2014-12-12shell將腳本輸出結(jié)果記錄到日志文件的實現(xiàn)
下面小編就為大家?guī)硪黄猻hell將腳本輸出結(jié)果記錄到日志文件的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03關于"Argument?list?too?long”參數(shù)列表過長的四種解決方法
Linux下報錯“命令參數(shù)列表過長”,在用mv命令一次移動3萬多個文件時失敗了,原始命令類似這樣:”mv?$(ls?dir1)?dir2“,錯誤提示的中心思想是:”你這參數(shù)也太TM多了吧“,本文給大家分享四種解決”Argument?list?too?long”參數(shù)列表過長,感興趣的朋友一起看看吧2023-02-02