最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

java定时备份数据库_MySQL

来源:动视网 责编:小采 时间:2020-11-09 19:28:43
文档

java定时备份数据库_MySQL

java定时备份数据库_MySQL:java数据库定时备份,这里是以mysql为例:BackupDb.java(数据库备份类)public class BackupDb { public String backup() throws IOException{ String user = root; //数据库的用户名 String password = roo
推荐度:
导读java定时备份数据库_MySQL:java数据库定时备份,这里是以mysql为例:BackupDb.java(数据库备份类)public class BackupDb { public String backup() throws IOException{ String user = root; //数据库的用户名 String password = roo


java数据库定时备份,这里是以mysql为例:

BackupDb.java(数据库备份类)

public class BackupDb {
public String backup() throws IOException{
String user = "root"; //数据库的用户名
String password = "root";//数据库的密码
String database = "database";//要备份的数据库名
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String filepath = "d://jinsus"+sdf.format(date)+".sql";
File file = new File("d://","jinsus"+sdf.format(date)+".sql");
if(!file.exists()){
file.createNewFile();
}
String stmt1 = "mysqldump " + database +" -h 127.0.0.1 "+ " -u " + user + " -p" +
password + " --default-character-set=gbk --result-file=" + filepath;
try {
Runtime.getRuntime().exec(stmt1);
System.out.println("已经保存到 " + filepath + " 中");
} catch (IOException e) {
e.printStackTrace();
}
return filepath;
}
}

TimerUse.java(定时及测试类)

public class TimerUse {
public static void main(String[] args) {
PickTask picktask = new PickTask();
picktask.start(1, 60); // 每60秒执行一次
}
}

class PickTask {
private Timer timer;
private TimerTask task = new TimerTask() {
public void run() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beginDate = sdf.format(date);
String beginTime = beginDate.substring(11, 16);
System.out.println("开始时间:"+beginDate);

BackupDb bdb = new BackupDb();
// 设定备份时间
if (beginTime.equals("16:39")) {
try {
bdb.backup(); // 执行文件备份
String dbName = bdb.backup().toString(); // 取出备份的文件名字
String path = "d://";
int nameNo = dbName.lastIndexOf("//");
//判断文件是否存在,如果存在,则备份成功,如果不存在则备份不成功需要重新备份
File file = new File(path, dbName.substring(nameNo + 1,
dbName.length()));
if (file.exists()){
system.out.println("备份成功");

}else{

system.out.println("备份失败,重新备份");
//在备份未成功的情况下重新备份
new PickTask().start(1, 1);
}

} catch (FileNotFoundException e) {
System.out.println("can not find the file");
} catch (IOException e) {
e.printStackTrace();
}
}else{
System.out.println("时间还不到呢,不要着急哦!");
}
}
};

//start 方法不能少,主要是schedule方法
public void start(int delay, int internal) {
timer.schedule(task, delay * 1000, internal * 1000);
}
}

文档

java定时备份数据库_MySQL

java定时备份数据库_MySQL:java数据库定时备份,这里是以mysql为例:BackupDb.java(数据库备份类)public class BackupDb { public String backup() throws IOException{ String user = root; //数据库的用户名 String password = roo
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top