今天在空闲之余查了一下关于MySql数据库备份的方案,最后结合自己的项目情况写了一个关于Spring计划任务的例子,目前我这个版本是在Windwos下测试成功,希望对大家有所帮助,不足之处还请大家多多包含,有什么建议尽管提出,我会第一时间回复大家,谢谢!

1.首先第一步要搭建Spring3.x的环境,这里就不多说,直接上代码:

package cn.gov.csrc.report.action;import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;import javax.annotation.Resource;import org.apache.struts2.convention.annotation.Action;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.context.annotation.Scope;
import org.springframework.scheduling.quartz.QuartzJobBean;
import org.springframework.stereotype.Controller;import cn.gov.csrc.report.service.CaseService;@Controller()
@Scope("prototype")
@Action("TimerAction")
public class TimerAction extends QuartzJobBean {private int timeout;private static int i = 0;private CaseService caseService;public TimerAction() {}/**调度工厂实例化后,经过timeout时间开始执行调度*/public void setTimeout(int timeout) {this.timeout = timeout;}@Resourcepublic void setCaseService(CaseService caseService) {this.caseService = caseService;}@Overrideprotected void executeInternal(JobExecutionContext context)throws JobExecutionException {System.out.println("定时任务执行中......");JobDataMap jobDataMap = context.getTrigger().getJobDataMap();System.out.println(jobDataMap+"-------");}public void start() {//备份mysql数据库Runtime runtime = Runtime.getRuntime();System.out.println("备份数据库任务开始了......");String cmd = "mysqldump -h localhost -uroot -proot springdb > e:/springdb.sql";//一定要加-h localhost(或是服务器IP地址)try {Process process = runtime.exec("cmd /c" + cmd);InputStreamReader inputStreamReader = new InputStreamReader(process.getErrorStream());LineNumberReader lineNumberReader = new LineNumberReader(inputStreamReader);String line;while((line = lineNumberReader.readLine()) != null){System.out.println(line+"----------------");}System.out.println("备份成功");} catch (IOException e) {System.out.println("备份失败");e.printStackTrace();}System.out.println("备份数据库任务结束了......");}}

2.配置计划任何的配置文件,这里是使用的是quartz插件实现计划任务:

<!-- 任务计划 --><!-- 要调用的工作 --><bean id="timerAction" class="cn.gov.csrc.report.action.TimerAction"></bean><!-- 定义调用对象和调用对象的方法 --><bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><!-- 调用的类 --><property name="targetObject"><ref bean="timerAction"/></property><!-- 调用类中的方法 --><property name="targetMethod"><value>start</value></property><!-- 作业不并发调度 --><property name="concurrent" value="false"/></bean><!-- 定义触发时间 --><bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail"><ref bean="jobtask"/></property><!-- cron表达式 --><property name="cronExpression"><!-- 每天晚上11点59分钟59秒执行一次 --><!-- <value>0 59 23 * * ?</value> --><!-- 每天上午11点04分钟59秒执行一次--><value>0 04 11 * * ?</value></property></bean><!-- 总管理类,如果将lazy-init='false'那么容器启动就会执行调度程序 --><bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref bean="doTime"/></list></property></bean>

3.最后附上quartz的jar包,有需要的朋友可以下载,加到你们的Spring环境中句可以使用了,这个是8.6的:http://pan.baidu.com/s/1dDuvSwp

还有一个quartz时间格式的工具,可以任意改变时间格式:下载地址:http://pan.baidu.com/s/1o6M3PB8

Windows下Spring3.x计划任务实现定时备份MySql数据库相关推荐

  1. mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  2. mysql 定时同步数据_如何定时备份Mysql数据库数据?

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...

  3. shell如何控制文件读写不同时_如何定时备份Mysql数据库数据?

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...

  4. 批处理定时mysql备份数据库_定时备份mysql数据库的批处理

    定时备份mysql数据库的批处理代码,保存为backup_mysql.bat,运行即可. 复制代码 代码如下: @echo off set txt1=%date:~0,4% ::当前年 set txt ...

  5. centos7-每天定时备份 mysql数据库

    centos7-每天定时备份 mysql数据库 第一步:编写数据库备份脚本database_mysql_shell.sh #!/bin/bash DATE=`date +%Y%m%d%H%M` #ev ...

  6. Centos定时备份 MySQL数据库

    一.编写数据库备份脚本 backupmysql.sh #!/bin/bash # Name:bakmysql.sh # This is a ShellScript For Auto DB Backup ...

  7. Python定时备份mysql数据库并把备份邮件发送

    一.先来看备份mysql数据库的命令 mysqldump -u root --password=root --database abcDataBase > c:/abc_backup.sql 二 ...

  8. Shell脚本:Linux下定时备份MySQL数据库

    对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参 ...

  9. windows定时备份mysql数据库并自动压缩

    1. 创建要备份的目录,将mysqldump.exe与WinRAR.exe复制到该目录,工具下载 2.编写批处理脚本backupDB.bat ::mysql数据备份,请勿更改配置及目录 ::作者:初学 ...

最新文章

  1. Sicily 2501. 算算式
  2. [转]在C#中像Python一样编写TensorFlow机器学习代码
  3. azm335x 串口配置
  4. instring java_Decode a string in Java
  5. [有限元] 四结点三角形单元和五结点三角形单元的形函数
  6. 用Jenkins编译asp.net
  7. 聚类效果评价——Calinski-Harabasz(CH指标)——内部评估标准(2)
  8. zookeeper简单命令
  9. sqlyog怎么设置默认值_如何使用SQLyog
  10. 如果你忘记了DotnetNuke站点的host和admin密码,解决方案
  11. CSDN看不见博主博客的评论_解决办法(亲测有效奥)
  12. 测试工具Monitor入门
  13. 双显示屏切单显时打不开关掉的显示屏上打开的软件的问题
  14. 图文解析如何配置网络交换机配置
  15. 自适应稳定快速RLS算法---(SFTRLS算法)
  16. 无缝滚动--基本实现
  17. ESXI中设置高格作为旁路由并设置双机热备(VRRP)
  18. CF 732F Tourist Reform——v-SCC+dfs
  19. ROS1云课-导航实践测评
  20. eclipse java混淆打包,Android Studio和eclipse混淆打包总结

热门文章

  1. java 圆形按钮,如何在Java中创建圆形的JButton?
  2. item name=android:width,Android:形状中的笔划创建笔划宽度的边距
  3. 调用支付jsapi缺少参数package_iOS微信支付(Swift)
  4. synchronized原理_synchronized 关键字底层原理
  5. 什么是ASP.NET Boilerplate Project(ABP)框架
  6. java构造方法的签名_如何在 Java 中构造对象(学习 Java 编程语言 034)
  7. 数据结构 - 单链表(Linked List)实现在内存中实现数据以链表形式生成并根据序号排序
  8. Python 数据分析三剑客之 Matplotlib(十一):最常用最有价值的 50 个图表
  9. REVERSE-PRACTICE-BUUCTF-20
  10. 【HDU - 1465 】不容易系列之一 (组合数学,错排)