shell在指定目錄下批量執(zhí)行sql腳本的實(shí)例
如下所示:
#!/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 #如果沒(méi)有指定數(shù)據(jù)庫(kù) read -p "請(qǐng)輸入數(shù)據(jù)庫(kù)名:" db_name read -p "你輸入的數(shù)據(jù)名是【$db_name】,確認(rèn)繼續(xù)請(qǐng)輸入--yes--: " confirm fi if [ "$confirm" = "yes" ] && [ -n $confirm ] ; then if [ ! $db_pass ] ; then #如果沒(méi)有設(shè)置密碼 stty -echo #密碼輸入保護(hù)關(guān)閉顯示 read -p "請(qǐng)輸入數(shù)據(jù)庫(kù)密碼:" 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` #讀取錯(cuò)誤日志信息 if [ -n "$error" ] ; then #如果有錯(cuò)誤就退出程序 echo $error exit fi else echo "您已經(jīng)取消操作!" exit fi fi fi done
以上這篇shell在指定目錄下批量執(zhí)行sql腳本的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
shell 生成隨機(jī)數(shù)的實(shí)現(xiàn)方法總結(jié)
這篇文章主要介紹了 shell 生成隨機(jī)數(shù)的實(shí)現(xiàn)方法總結(jié)的相關(guān)資料,希望通過(guò)本能幫助到大家,讓大家徹底掌握這幾種隨機(jī)數(shù)的方法,需要的朋友可以參考下2017-09-09Shell腳本調(diào)快調(diào)慢系統(tǒng)時(shí)間(測(cè)試服務(wù)器時(shí)使用)
這篇文章主要介紹了Shell腳本修改系統(tǒng)時(shí)間(測(cè)試服務(wù)器時(shí)使用),本文腳本用于調(diào)快或者調(diào)慢系統(tǒng)時(shí)間,需要的朋友可以參考下2014-12-12linux中shell腳本實(shí)現(xiàn)下載完關(guān)機(jī)
本文給大家分享的是個(gè)人在實(shí)際應(yīng)用中制作的一個(gè)小程序,十分的實(shí)用,推薦給大家,有需要的小伙伴可以參考下。2015-03-03一個(gè)下載網(wǎng)頁(yè)圖片的shell腳本
這篇文章主要介紹了一個(gè)下載網(wǎng)頁(yè)圖片的shell腳本,需要的朋友可以參考下2014-03-03shell將腳本輸出結(jié)果記錄到日志文件的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇shell將腳本輸出結(jié)果記錄到日志文件的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03關(guān)于"Argument?list?too?long”參數(shù)列表過(guò)長(zhǎng)的四種解決方法
Linux下報(bào)錯(cuò)“命令參數(shù)列表過(guò)長(zhǎng)”,在用mv命令一次移動(dòng)3萬(wàn)多個(gè)文件時(shí)失敗了,原始命令類似這樣:”mv?$(ls?dir1)?dir2“,錯(cuò)誤提示的中心思想是:”你這參數(shù)也太TM多了吧“,本文給大家分享四種解決”Argument?list?too?long”參數(shù)列表過(guò)長(zhǎng),感興趣的朋友一起看看吧2023-02-02