#!/bin/bash
#script_version=v110
db_host=127.0.0.1
db_port=3306
db_username=db_test_inst
db_passwd=`XXXXXXXXXXX`
db_name=test
MYDATE=`date +%Y%m%d%H%M%S`
ROOT_PATH=`XXXX/${script_version}`
MYSQL_PATH=${ROOT_PATH}/sql
LOG_DIR=${LOG_DIR}/log
LOG_FILE=${LOG_DIR}/exec_${MYDATE}.log
if [ ! -d "$LOG_DIR" ] ;then
mkdir $LOG_DIR
fi
for file in ${MYSQL_PATH}/*
do
if [ -f "$file" ] ; then
postfix=`echo $file | awk -F'.' '{print "."$NF}'`
if [ $postfix = ".sql" ] ; then
mysql -h$db_host -P$db_port -udb_username -p$db_passwd --default-character-set=utf8 ${db_name} < $file >& error.log
echo $file
echo -e "\n===========$file开始执行=============\n" >>${LOG_FILE}
cat error.log >>${LOG_FILE} #输出执行日志
error=`grep ERROR error.log` #读取错误日志信息
if [ -n "$error" ] ; then #如果有错误就退出程序
echo -e "\n===========$file执行失败,请修改后重新执行=============\n" >>${LOG_FILE}
else
echo -e "\n===========$file执行成功=============\n" >>${LOG_FILE}
fi
fi
fi
done

Linux记录-shell自动化批量部署sql脚本并记录日志信息(转载)的更多相关文章

  1. Linux记录-Shell自动化部署批量建立用户和批量SSH配置(转载)

    if [ ! $# -eq 2 ] ; then echo "请输入用户名和密码以空格分开!" exit else name="$1" passwd=" ...

  2. SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

    需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监 ...

  3. Jenkins +svn +maven +tomcat+ ansible 自动化批量部署

    Jenkins +svn +maven +tomcat+ ansible 自动化批量部署 一.部署svn yum install subversion 先创建目录 mkdir /home/svn 创建 ...

  4. PL/SQL中批量执行SQL脚本(不可把所有的语句都复制到New SQL Windows)

    PL/SQL中批量执行SQL脚本,不可把所有的语句都复制到New SQL Window,因为这样会导致缓冲区过大而进程卡死! 最好的办法是将要执行的SQL脚本存放到指定文件中,如C:\insert.s ...

  5. 批量查询sql脚本

    远程批量查询sql脚本 for i in {1..50} do sql_ip=172.168.0.${i}   information=`mysql -h ${sql_ip} -uroot -ppas ...

  6. Linux记录-shell 100例(转载)

    1.编写hello world脚本 #!/bin/bash # 编写hello world脚本 echo "Hello World!" 2.通过位置变量创建 Linux 系统账户及 ...

  7. Cobbler自动化批量部署CentOS6.5系统

    Cobbler作为一个预备工具,使批量部署Red Hat/Centos/Fedora系统更容易,同时也支持Suse和Debian系统的部署. 它提供以下服务集成: * PXE服务支持 * DHCP服务 ...

  8. Linux系列教程(二十)——Linux的shell概述以及如何执行脚本

    从这篇博客开始,我们将进入Linux的shell脚本的学习,这对于Linux学习爱好者而言是特别重要的一节,也是特别有意思的一节,shell 脚本就像我们知道的Java,php类似的编程语言一样,通过 ...

  9. linux服务端导入oracle数据库.sql脚本

    一般情况下,后缀名为.sql或者为记事本类型的文本脚本可以通过打开后复制或者直接在客户端打开执行,但如果脚本比较大时(比如文件达到几百M以上), 普通文本工具和数据库客户端都无法打开,哪怕可以打开,也 ...

随机推荐

  1. axios 的 get 方法 params 传参 400 的问题

    axios 的 get 方法 params 传参,在输入框中输入某些特殊字符 例如中括号,请求时会直接报 400 错误,Bad Request. 原因:axios 的 get 方法,在使用 param ...

  2. python_并发编程——事件

    1.事件 :通过一个信号来控制多个进程同时执行或者阻塞. 一个信号可以使所有的进程都进入阻塞状态,也可以控制所有的进程接触阻塞,一个事件被创建之后,默认是阻塞状态. from multiprocess ...

  3. tomcat 启动项目超时问题

    在开发工具中打开tomcat(F3),Timesouts下设置增加start秒数,然后保存重启项目.

  4. IDEA设置提示生成序列化ID

    背景: 实现Serializable接口的类,没有提示生成序列化ID 解决问题: 1.FIle->Settings->Editor->inspections 2.点击java-> ...

  5. NISP二级笔记(一) 信息安全管理

    ISO27001 信息安全管理体系要求 ISO27002 信息安全控制措施(实用规则) ISO27003 信息安全管理体系实施指南 ISO27004 信息安全管理测量 ISO27005 信息安全风险管 ...

  6. LOJ P10131 暗的连锁 题解

    每日一题 day27 打卡 Analysis 对于每条非树边 , 覆盖 x 到 LCA 和 y到 LCA 的边 , 即差分算出每个点和父亲的连边被覆盖了多少次 .被覆盖 0 次的边可以和 m 条非树边 ...

  7. codevs:2849 素数判定 3:输入一个正整数x(3<=x<=100000),判断x是否是质数,如果是质数则输出信息“prime”,否则输出“composite”。

    #include<iostream>#include<cstdio>#include<cmath>using namespace std;int a[2];int ...

  8. The puzzle

    The puzzle: 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6489 找大佬讲了一下这道题,但还是不懂为什么要这样做,先记录一下以后再研究研究; ...

  9. 《挑战30天C++入门极限》C/C++中结构体(struct)知识点强化

        C/C++中结构体(struct)知识点强化 在上一个教程中我们已经简单的阐述了什么是结构体了,为了进一部的学习结构体这一重要的知识点,我们今天来学习一下链表结构. 结构体可以看做是一种自定义 ...

  10. Luogu5349 幂

    题面 题解 首先考虑对于一个单项式怎么做,多项式就是单项式的答案的和. 就求一下\(\mathbf f(n) = n^k\)吧.(下面设\(t = \dfrac 1r\)) 设\(\mathbf S_ ...