最近在项目中遇到 定时去和别人数据库同步
解决方案:第三提供一个接口,接口返回一个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
至于时间的定义 请参考别处
分享到:
相关推荐
在IT领域,尤其是在数据库管理和系统自动化操作中,利用Linux下的Crontab实现Oracle SQL的定时自动执行是一项极为实用且高效的技术。本文将深入探讨如何在Linux环境下设置Crontab来定期执行Oracle SQL脚本,这一过程...
批量执行SQL脚本的解决方案应运而生,它能够有效地自动化这个过程,提高工作效率,确保数据操作的一致性和准确性。下面,我们将深入探讨批量执行SQL脚本的核心知识点及其应用场景。 批量执行SQL脚本通常涉及到以下...
通过创建一个脚本,遍历指定目录下的所有SQL文件并执行它们,可以实现批量执行。 4. **编程语言集成**:如果你熟悉编程,可以通过Python、Java、C#等语言的数据库连接库来批量执行SQL。例如,Python的`pyodbc`或`...
执行clickhouse的sql文件的脚本。 ~~~ 脚本执行命令如下: ~~~ sh backup-ch.sh ip port user password db chdir(clickhouse安装目录) sql_dir(sql文件路径) ~~~ 参数灵活配置。拥有7个参数。可满足多种场景。 ~~~ ...
在Linux环境下,对Oracle数据库进行批量操作是一项常见的任务,尤其对于系统管理员和DBA来说,高效地执行SQL脚本可以显著提升工作效率。本篇将详细讲解如何利用shell脚本来批量执行Oracle数据库脚本,以及涉及的相关...
linux下自动运行oracle数据库脚本文件
1. 导入时间过长:大型SQL文件的导入可能需要很长时间,影响工作效率。 2. 超出系统限制:某些数据库系统对单个文件大小有限制,大文件无法直接导入。 3. 错误处理困难:如果大文件中存在错误,整个文件可能无法执行...
MySQL提供了多种方式来批量执行SQL文件,以简化这些任务。这里我们将详细探讨一种实用的方法,即通过创建一个批处理文件来一次性运行多个SQL脚本。 首先,你需要将待执行的SQL文件准备好。例如,我们有1.sql、2.sql...
根据配置文件获取数据库连接,根据传入sql执行sql 调用案例:dbConnectTest.sh "pssc_jk" "select sysdate from dual;" 参数介绍: "pssc_jk" 指配置文件中配置的数据库连接串 “SQL”要执行的SQL,可以是增删改...
在Linux环境中,有时候我们需要对SQL文件中的特定记录进行批量替换,比如当数据库的ID需要从某个数值开始递增时。本文档介绍了如何通过Linux命令行工具来实现这一目标。 首先,假设我们有一个名为`online.sql`的...
最后,压缩包子文件“计划任务自动执行Sql程序”很可能包含了实现这一流程的脚本或程序。这个文件可能是一个批处理脚本(如Windows的.bat文件),或者是用Python、PowerShell或其他编程语言编写的代码,其作用是调用...
### Hibernate自动导入SQL文件import.sql国际化编码问题的解决方案 #### 背景介绍 在使用Hibernate框架时,经常需要在项目启动初期或者数据库更新时自动执行一些SQL脚本(如DDL脚本)来创建或更新数据库结构。这些...
完成上述设置后,系统会在指定时间自动执行备份脚本,生成名为`ip_dashboard_db_date.sql.gz`的文件。这个文件包含了数据库的SQL备份,并且进行了gzip压缩,可以有效节省存储空间。在实际环境中,应定期检查备份...
SQL语句是用户与数据库交互的主要方式,用于执行各种操作。本手册详细介绍了各种SQL语句,包括但不限于: - **SELECT**:用于从数据库中检索数据。 - **INSERT**:用于向表中插入新的记录。 - **UPDATE**:用于更新...
在Linux环境中,数据库脚本通常以`.sh`和`.sql`两种格式存在。`.sh`文件通常是bash脚本,用于执行一系列操作系统级别的命令,而...转换过程包括上传、格式转换、权限设置以及脚本执行,最终生成可以直接执行的SQL文件。
本文将详细介绍如何在Linux环境下利用shell脚本来实现自动执行任务,以定时复制文件和备份MySQL数据库为例。 首先,我们来看如何创建一个shell脚本来定时复制文件。假设我们需要每天凌晨1点自动将 `/usr/local/...
例如,使用SQLSession的exec()方法执行SQL命令,用SQLResult遍历查询结果。 总之,SQLAPI库是Linux下开发数据库应用程序的一个强大工具,它简化了数据库访问的复杂性,同时提供了广泛的数据库系统支持。通过在...
### 如何在Linux下实现MySQL数据库每天自动备份 在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来...
在这个场景中,“sh中执行sql脚本”指的是使用Shell脚本来运行SQL命令,这在Linux或Unix系统中非常常见。`clear.sh`这个文件名暗示它是一个清理或者初始化操作的Shell脚本。 首先,我们需要了解基本的Shell语法。在...
在Linux环境下,对Oracle数据库进行自动备份以及将备份文件拷贝至磁带机是一项关键的任务,确保数据的安全性和可恢复性。以下将详细介绍这个过程涉及的知识点。 首先,Oracle数据库的备份通常采用两种主要方法:...