j2EE 利用Quartz任务调度 进行 mysql 数据库自动备份
2011-10-30 23:02
761 查看
我们的网站,每次数据库备份都得手动备份,有的时候还会忘记,没出问题还好,要是有问题那就麻烦啦,所以干脆自己写个备份程序吧
使用的quartz的任务调度功能,当然也顺便把它整到spring里面去了,把源码拿来与大家分享:
1. DataBackupImp.java
2.applicationContextQuartz.xml
使用的quartz的任务调度功能,当然也顺便把它整到spring里面去了,把源码拿来与大家分享:
1. DataBackupImp.java
package cn.hunqiu.data; import java.io.IOException; import java.util.Date; public class DataBackupImp { private StringBuffer copyString = new StringBuffer("mysqldump ");//利用mysql的mysqldump 工具,前提是你要吧mysql 的bin目录加入你的系统path private String lastStr = null; private String user = "-u****";//***为用户名 private String pwd = "-p***";//***为密码 private String db = "****";//要备份的数据库 private String path = System.getProperty("testhunqiu.root");//你的网站程序的映射地址 private String sqlFileName = null; @SuppressWarnings("deprecation") public DataBackupImp() { copyString.append(user).append(" ").append(pwd).append(" ").append(db).append(" >"); sqlFileName = path + "WEB-INF\\datacopy\\"+db +"_"+new Date().toLocaleString().replaceAll(":","-")+".sql"; lastStr = copyString + sqlFileName; } @SuppressWarnings("deprecation") public DataBackupImp(String user,String pwd,String db) { copyString.append(user).append(" ").append(pwd).append(" ").append(db).append(" >"); sqlFileName = path + "WEB-INF\\datacopy\\"+db +"_"+new Date().toLocaleString().replaceAll(":","-")+".sql"; lastStr = copyString + sqlFileName; } @SuppressWarnings("deprecation") public void dataCopy() throws IOException { String temp = ("cmd /c "+lastStr).replaceAll("//","\"\\\\\"").replaceAll("\\\\","\"\\\\\"");//把\换成windows的地址分隔符/ temp=temp.replaceFirst("\"",""); Runtime.getRuntime().exec(temp); System.out.println("已经完成计算 数据库文件备份----------"); System.out.println("文件路径:"+sqlFileName+" 备份时间"+new Date().toLocaleString()); } }
2.applicationContextQuartz.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/context/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd http://www.springframework.org/schema/context/mvc http://www.springframework.org/schema/context/mvc/spring-mvc-3.0.xsd"> <!-- Quartz任务调度 --> <!-- 数据库备份 --> <bean id ="datacopyQuartz" class="cn.hunqiu.data.DataBackupImp"/> <bean id="hqDatacopyQuartz" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="datacopyQuartz"/> </property> <property name="targetMethod"> <value>dataCopy</value> </property> </bean> <bean id="datacopyQuartzTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="hqDatacopyQuartz"/> </property> <property name="cronExpression"> <!-- <value>0 0 23 * * ?</value> --><!-- 每天23点 --> <value>0 0 * * * ?</value><!-- 每小时 --> </property> </bean> <bean id="startQuartz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="datacopyQuartzTime"/> </list> </property> </bean> </beans>
相关文章推荐
- java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度
- Mysql计划任务自动定时备份数据库方法-for windows
- CentOS下mysql自动备份数据库 crontab定时任务
- java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫
- 利用MSSQL计划任务自动备份数据库
- 利用FTP和计划任务自动备份网站数据和数据库
- MySQL利用mysqldump进行数据库备份及还原
- java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片
- 利用MySQL的mysqlhotcopy实现数据库自动备份的SH脚本源码
- mysql怎样利用对所有数据库进行备份的备份文件只恢复某一个数据库
- java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫
- 利用系统的“任务计划”让SQL Server 2008 数据库自动备份
- spring实现自动定时任务调度【Spring Task】【Quartz】
- centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复
- 利用sqlyog配置MySQL自动备份sql文件
- mysql自动定时备份数据库的最佳方法-支持windows系统
- centos定时任务进行数据库数据备份
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- windows服务器定时对mysql数据库进行数据库自动备份
- 利用scp自动输入密码进行文件远程拷贝或备份