`
yangmingjiayou
  • 浏览: 112631 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux下自动执行sql文件

 
阅读更多

最近在项目中遇到 定时去和别人数据库同步
解决方案:第三提供一个接口,接口返回一个sql文件 把这个文件在我们数据库里面执行
环境:linux mysql5.0

解决问题关键:
1 获取sql文件 在mysql端执行
2 定时(每天一次)去同步

import.sh文件 内容如下:



#自己随便建的个目录
cd /appcom/com/jindie/load
#去下载文件 并且把下载文件重命名文件 横线大写字母O  因为这个接口返回的是默认 "pingan.do?opt=downloadDb"这个名字的文件
wget -O pingan$(date +%Y%m%d).tar.gz  -b -t 0  http://xxx.xxx.xxx/pingan/pingan.do?opt=downloadDb
#休眠5秒因为下面命令要依赖上个命令生成的文件
sleep 5
#解压文件
gunzip pingan$(date +%Y%m%d).tar.gz
sleep 3
#解压文件
tar -xvf pingan$(date +%Y%m%d).tar
#把目录赋值给一个变量
FOLDER_A=/appcom/com/jindie/load
FOLDER_B=/appcom/com/jindie/bak
#获得目录下的所有sql文件
for file_a in ${FOLDER_A}/*.sql; do
#输出显示sql文件
    echo "----" ${file_a}
    cp $file_a $FOLDER_B/ 
done
#进入mysql的bin目录 如果不进入 直接执行mysql 可能找不到命令
cd /appcom/com/mysql/bin
#连接数据 -u用户名 -p密码 -h主机号 -P 端口号 数据库 <要执行的sql文件的全路径  用上面定义的变量
./mysql  -uroot  -h127.0.0.1 -P3306 pingan < ${file_a}



cd /appcom/com/jindie/load
wget -O pingan$(date +%Y%m%d).tar.gz  -b -t 0  http://xxx.xxx.xxx/pingan/pingan.do?opt=downloadDb
sleep 5
gunzip pingan$(date +%Y%m%d).tar.gz
sleep 3
tar -xvf pingan$(date +%Y%m%d).tar
FOLDER_A=/appcom/com/jindie/load
FOLDER_B=/appcom/com/jindie/bak
for file_a in ${FOLDER_A}/*.sql; do
    echo "----" ${file_a}
    cp $file_a $FOLDER_B/ 
done
cd /appcom/com/mysql/bin
./mysql  -uroot  -h127.0.0.1 -P3306 pingan < ${file_a}



定时执行:
命令行下执行 crontab -e  可能提示没有权限 提示:
You (appcom ) are not allowed to use this program (crontab)
See crontab(1) for more information

 那么切换root用户  su root 密码

crontab -e 进入编辑状态

30 3 * * 6 sh /root/bin/tarlog.sh 2>&1 >>/root/tarlog.sh.out
53 2 * * * sh /root/bin/osbackup.sh 2>&1 >>/root/osbackup.sh.out
16 20 * * * sh /appcom/com/jindie/import.sh 2>&1 >>/appcom/com/jindie/import.sh.out
*/5 8-21 * * 1-5 /bin/bash /root/bin/cpu_mem_collect.sh 2>&1 > /dev/null


加入红色字体行

意思是:每天晚上八点十六分 定时执行import.sh命令 执行输出到import.sh.out
至于时间的定义 请参考别处

分享到:
评论

相关推荐

    Linux下定时自动执行Oracle_SQL

    在IT领域,尤其是在数据库管理和系统自动化操作中,利用Linux下的Crontab实现Oracle SQL的定时自动执行是一项极为实用且高效的技术。本文将深入探讨如何在Linux环境下设置Crontab来定期执行Oracle SQL脚本,这一过程...

    批量执行SQL脚本

    批量执行SQL脚本的解决方案应运而生,它能够有效地自动化这个过程,提高工作效率,确保数据操作的一致性和准确性。下面,我们将深入探讨批量执行SQL脚本的核心知识点及其应用场景。 批量执行SQL脚本通常涉及到以下...

    SQL脚本批量执行,方便大量的SQL脚本执行。

    通过创建一个脚本,遍历指定目录下的所有SQL文件并执行它们,可以实现批量执行。 4. **编程语言集成**:如果你熟悉编程,可以通过Python、Java、C#等语言的数据库连接库来批量执行SQL。例如,Python的`pyodbc`或`...

    执行clickhouse的sql文件的脚本,支持定时任务

    执行clickhouse的sql文件的脚本。 ~~~ 脚本执行命令如下: ~~~ sh backup-ch.sh ip port user password db chdir(clickhouse安装目录) sql_dir(sql文件路径) ~~~ 参数灵活配置。拥有7个参数。可满足多种场景。 ~~~ ...

    SQLDumpSplitter 大Sql文件拆分成小文件

    1. 导入时间过长:大型SQL文件的导入可能需要很长时间,影响工作效率。 2. 超出系统限制:某些数据库系统对单个文件大小有限制,大文件无法直接导入。 3. 错误处理困难:如果大文件中存在错误,整个文件可能无法执行...

    linux下批量执行oracle脚本的shell脚本

    在Linux环境下,对Oracle数据库进行批量操作是一项常见的任务,尤其对于系统管理员和DBA来说,高效地执行SQL脚本可以显著提升工作效率。本篇将详细讲解如何利用shell脚本来批量执行Oracle数据库脚本,以及涉及的相关...

    linux下自动运行oracle数据库脚本文件

    linux下自动运行oracle数据库脚本文件

    mysql批量执行sql文件的方法

    MySQL提供了多种方式来批量执行SQL文件,以简化这些任务。这里我们将详细探讨一种实用的方法,即通过创建一个批处理文件来一次性运行多个SQL脚本。 首先,你需要将待执行的SQL文件准备好。例如,我们有1.sql、2.sql...

    shell连接oracle数据库执行SQL工具脚本-支持select+inset+update

    根据配置文件获取数据库连接,根据传入sql执行sql 调用案例:dbConnectTest.sh "pssc_jk" "select sysdate from dual;" 参数介绍: "pssc_jk" 指配置文件中配置的数据库连接串 “SQL”要执行的SQL,可以是增删改...

    linux从指定ID批量替换sql文件中记录的方法.docx

    在Linux环境中,有时候我们需要对SQL文件中的特定记录进行批量替换,比如当数据库的ID需要从某个数值开始递增时。本文档介绍了如何通过Linux命令行工具来实现这一目标。 首先,假设我们有一个名为`online.sql`的...

    计划任务自动执行SQL并导出TXT格式的电子档

    最后,压缩包子文件“计划任务自动执行Sql程序”很可能包含了实现这一流程的脚本或程序。这个文件可能是一个批处理脚本(如Windows的.bat文件),或者是用Python、PowerShell或其他编程语言编写的代码,其作用是调用...

    hibernate 自动导入 sql 文件 import.sql 国际化编码的问题的解决方案

    ### Hibernate自动导入SQL文件import.sql国际化编码问题的解决方案 #### 背景介绍 在使用Hibernate框架时,经常需要在项目启动初期或者数据库更新时自动执行一些SQL脚本(如DDL脚本)来创建或更新数据库结构。这些...

    linux中使用crontab定时生成mysql数据库的sql备份压缩gz文件.pdf

    完成上述设置后,系统会在指定时间自动执行备份脚本,生成名为`ip_dashboard_db_date.sql.gz`的文件。这个文件包含了数据库的SQL备份,并且进行了gzip压缩,可以有效节省存储空间。在实际环境中,应定期检查备份...

    人大金仓数据库SQL手册

    SQL语句是用户与数据库交互的主要方式,用于执行各种操作。本手册详细介绍了各种SQL语句,包括但不限于: - **SELECT**:用于从数据库中检索数据。 - **INSERT**:用于向表中插入新的记录。 - **UPDATE**:用于更新...

    Linux下如何将数据库脚本文件从sh格式变为sql格式.docx

    在Linux环境中,数据库脚本通常以`.sh`和`.sql`两种格式存在。`.sh`文件通常是bash脚本,用于执行一系列操作系统级别的命令,而...转换过程包括上传、格式转换、权限设置以及脚本执行,最终生成可以直接执行的SQL文件。

    Linux下使用shell脚本自动执行脚本文件

    本文将详细介绍如何在Linux环境下利用shell脚本来实现自动执行任务,以定时复制文件和备份MySQL数据库为例。 首先,我们来看如何创建一个shell脚本来定时复制文件。假设我们需要每天凌晨1点自动将 `/usr/local/...

    Linux下开发程序可以使用的SQLAPI库

    例如,使用SQLSession的exec()方法执行SQL命令,用SQLResult遍历查询结果。 总之,SQLAPI库是Linux下开发数据库应用程序的一个强大工具,它简化了数据库访问的复杂性,同时提供了广泛的数据库系统支持。通过在...

    如何在linux下实现mysql数据库每天自动备份 txt

    ### 如何在Linux下实现MySQL数据库每天自动备份 在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来...

    sh中执行sql脚本

    在这个场景中,“sh中执行sql脚本”指的是使用Shell脚本来运行SQL命令,这在Linux或Unix系统中非常常见。`clear.sh`这个文件名暗示它是一个清理或者初始化操作的Shell脚本。 首先,我们需要了解基本的Shell语法。在...

    linux下 MYSQL 自动备份工具

    在MySQL备份场景中,`tar`常用于将`mysqldump`生成的SQL文件压缩成更小的文件,以便节省存储空间并提高传输效率。 6. **cron定时器**:Linux的`cron`服务允许用户设置定时任务,例如每天、每周或每月执行一次MySQL...

Global site tag (gtag.js) - Google Analytics