定时备份数据库
1、在Spring配置文件中先配置定时任务
<?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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
<mvc:annotation-driven/>
<task:annotation-driven/>
<context:component-scan base-package="com.xjj.util"/>
</beans>
2、创建定时类
package com.xjj.util.backups;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.io.IOUtils;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class BackUps {
@Scheduled(cron = "00 00 0/3 * * ?")
public void backups() throws IOException {
System.out.println("备份数据库");
Runtime runtime = Runtime.getRuntime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
Process process = runtime
.exec("cmd /c mysqldump -h localhost -uroot -p1234 ai_hotel > D:\\Idea\\AI_Hotel\\src\\main\\webapp\\WEB-INF\\sql\\"
+ sdf.format(new Date()) + ".sql");
InputStream errorStream = process.getErrorStream();
System.out.println("备份数据库成功.D:\\Idea\\AI_Hotel\\src\\main\\webapp\\WEB-INF\\sql\\" + sdf.format(new Date()) + ".sql");
}
}