对于大数据的采集推送,有时为了方便会将一张大表的数据按照月份分别存储,尤其是在与流水表相关的业务情况,因此需要定时按照月份去创建表。

  我有问过是否可以通过数据库的存储过程和事件触发器实现,得到的回答是可以,但是存储过程和事件触发器很影响数据库性能,不建议用,因此我才用了通过Linux服务器实现这一功能

  经过实际测试,发现这个确实能够行得通

  前提:1)放置的服务器和数据库服务器网络能够互通。2)命令服务器其上能够执行 sh 命令

  在Linux服务器上创建一个 .sh 文件,文件代码如下:

#!/bin/bash
HOSTNAME="127.0.0.1" #数据库信息
PORT="3306"
USERNAME="数据库账户"
PASSWORD="数据库密码"
DBNAME="数据库名称" #要使用的数据库,没有则会新建 MYSQL_CMD="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD}"
echo ${MYSQL_CMD} echo "create database ${DBNAME}"
create_db_sql="create database IF NOT EXISTS ${DBNAME}"
echo ${create_db_sql} | ${MYSQL_CMD} #创建数据库
判断是否创建成功,&?=0表示上条命令执行成功
if [ $? -ne 0 ]
then
echo "create databases ${DBNAME} failed ..."
exit 1
fi # 数据表名定义,按月建表,这里我是在本月最后一天执行该脚本,建下一个月的表,
timestamp=$(date -d "next month" +%Y%m) #下个月的月份
TABLENAME="表名_"$timestamp #具体的表名例表名_202311 #SQL语句
echo "create table ${TABLENAME}" create_table_sql="create table ${TABLENAME}(
ID varchar(255) ,
NAME varchar(255) COMMENT '姓名',
XB varchar(255) COMMENT '性别'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;" #在给定的DB上,创建表
echo ${create_table_sql} | ${MYSQL_CMD} ${DBNAME}
if [ $? -ne 0 ] #判断是否创建成功
then
echo "create table ${DBNAME}.${TABLENAME} fail ..."
fi

随后可以 该路径下 执行命令,判断是否执行成功

sh  XXX.sh

随后,添加服务器的crontab 定时器上

crontab -e #编辑定时器
0 0 28 * * sh /data/script/XXX.sh #quartz定时任务 执行
crontab -l #查看定时器中的内容

最后感谢solongyj 博主提供的文章咨询。

版权声明:本文为CSDN博主「solongyj」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_51503235/article/details/128620497

通过shell定时去创建数据月份表的更多相关文章

  1. 【转载】使用Pandas创建数据透视表

    使用Pandas创建数据透视表 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas创建数据透视表 目录 pandas.pivot_table() 创建简单的数据透视表 增加一个行维度(inde ...

  2. Excel应用程序如何创建数据透视表

    原文作者:andreww 原文链接: http://blogs.msdn.com/andreww/archive/2008/07/25/creating-a-pivottable-programmat ...

  3. LibreOffice创建数据透视表

    LibreOffice创建数据透视表 LibreOffice: 选中数据,Data->Pivot Table->Create,拖拽行.列到Row和column,Data Filed要点击O ...

  4. 【Excle数据透视】二维数据如何创建数据透视表

    二维数据在创建数据透视表的时候,可能会给你带来一些麻烦,没法创建,会丢失维度,那怎么办呢? 解决办法:使用数据透视表和数据透视图向导即可创建 具体操作如下: 按下[Alt+D+P],出现如下界面 选择 ...

  5. Shell 脚本批量创建数据库表

    使用 Shell 脚本批量创建数据表 系统:Centos6.5 64位 MySQL版本:5.1.73 比如下面这个脚本: #!/bin/bash #批量新建数据表 for y in {0..199}; ...

  6. Java 创建 Excel 数据透视表

    Excel 数据透视表具有强大的数据处理功能,能够使表格中的数据更加直观化.使用Excel 数据透视表,能方便用户快速的排序. 筛选各种数据,同时也能满足用户对不同数据汇总的需求.本文将介绍如何在Ja ...

  7. EXCEL 2010学习笔记 —— 数据透视表

    今天整理一下EXCEL2010 数据透视表的课程笔记,数据透视表可以对多组数据进行统计和整理,是一种基本的数据可视化工具. 记录6个方面的总结: 1.创建数据透视表 2.更改数据透视表的汇总方式 3. ...

  8. C# 操作Excel数据透视表

    一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...

  9. 我们无法找到服务器加载工作簿的数据模型"的 SharePoint 网站,当您刷新 Excel 2013 工作簿中的数据透视表时出错

    假定您使用 Analysis Services 源在 Microsoft Excel 2013 中创建数据透视表.将 Excel 工作簿上载到 Microsoft SharePoint 网站中.当您尝 ...

  10. VSTO学习笔记(十四)Excel数据透视表与PowerPivot

    原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...

随机推荐

  1. K8S集群中使用JD KMS服务对敏感数据安全加密

    基本概念 KMS,Key Management Service,即密钥管理服务,在K8S集群中,以驱动和插件的形式启用对Secret,Configmap进行加密.以保护敏感数据, 驱动和插件需要使用者 ...

  2. 深入探究API接口

    作为程序员,我们经常会遇到需要获取外部数据或调用外部服务的情况.而API(Application Programming Interface,应用程序编程接口)接口就是这样的一种机制,它允许我们的应用 ...

  3. Navicat连接docker mysql出错

    一.启动容器 首先启动docker mysql: docker run -itd --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 my ...

  4. SQL简单使用指南

    SQL简单使用指南 SQL(结构化查询语言)是一种用于管理和操作关系型数据库的标准化语言. 数据库概述 数据库是用于存储和组织数据的结构.它由表(表格)组成,每个表都包含多个列和行.以下是SQL中最常 ...

  5. cpu分布式训练论文阅读

    Large Scale Distributed Deep Networks Downpour SGD: 模型的副本采用异步方式从参数服务器(Parameter Server)中获取参数w和上传Δw到参 ...

  6. Java读取某个文件夹下的所有文件(支持多级文件夹)

    源码如下: package com.vocy.water.batch; import java.io.FileNotFoundException; import java.io.IOException ...

  7. oracle-组合索引字段位置与查询效率之间的关系

    Oracle索引组合字段的位置不同,当查询条件不能覆盖索引时,影响查询效率.查询条件是不是索引字段的第一列影响执行计划,实验验证 实验1:查询条件为组合索引的第一列--创建测试表 create tab ...

  8. Python - 读取CSV文件发现有重复数据,如何清洗以及保存为CSV文件,这里有完整的过程!!!! 片尾有彩蛋

    语言:Python 功能: 1.清洗CSV文件中重复数据. 2.保存为CSV文件 大体流程: 1.首先观察CSV文件中的数据布局格式如何? 2.通过csv包读取数据.并根据规则使用continue,来 ...

  9. java算法之排序算法大全

    ①排序 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法.排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方 ...

  10. CF431C

    题目简化和分析: k叉树,乍一看好像是树论,但我们通过分析条件,发现它每个阶段要做的事情一样,皆为:\(1\sim k\) 中选数字,这就很明显是DP. \(\mathit{f}_{i,0}\) 表示 ...