首页 / JAVA / java定时备份数据之二_MySQL
java定时备份数据之二_MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java定时备份数据之二_MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2569字,纯文字阅读大概需要4分钟。
内容图文
![java定时备份数据之二_MySQL](/upload/InfoBanner/zyjiaocheng/579/3a867cc9679e44a0a8615ee964b4a038.jpg)
BackupDb.java数据库备份类:
public class BackupDb {
public static boolean sqlDump(String cmd,String filePath){
boolean falg = false;
try {
Runtime run = Runtime.getRuntime();
Process p = run.exec(cmd);
InputStream is = p.getInputStream();// 控制台的输出信息作为输入流
InputStreamReader isr = new InputStreamReader(is,"UTF-8");//设置输入流编码格式
BufferedReader br = new BufferedReader(isr);
//将控制台输入信息写入到文件输出流中
FileOutputStream fos = new FileOutputStream(filePath);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos,"UTF-8"));
String temp = null;
while( (temp = br.readLine()) !=null){
bw.write(temp);
bw.newLine();
}
bw.flush();
bw.close();
br.close();
falg = true;
System.out.println("/* Dump SQL File "+filePath+" OK! */");
} catch (IOException e) {
throw new RuntimeException("请将mysql命令添加到path中!",e);
}
return falg;
}
}
pickTask.java类 定时任务类
public class PickTask {
private Timer timer;
public PickTask() {
timer = new Timer();
}
public 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);
BackupDb bdb = new BackupDb();
// 设定备份时间
if (beginTime.equals("17:51")) {
try {
Date date2 = new Date();
SimpleDateFormat sdff = new SimpleDateFormat("yyyyMMddHHmmss");
File file = new File("d://", sdff.format(date2)+".sql");
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//备份 C:/Program Files (x86)/MySQL/MySQL Server 5.5/bin 指mysql安装路径下面的bin文件夹
bdb.sqlDump("C:/Program Files (x86)/MySQL/MySQL Server 5.5/bin/mysqldump -uroot -p123 databasename",file.toString());
System.out.println("备份成功");
String dbName = file.toString(); // 取出备份的文件名字
if (file.exists()){
System.out.println("备份成功");
}else{
System.out.println("备份未成功");
//在备份未成功的情况下重新备份
new PickTask().start(1, 60); //隔60秒执行一次
}
} catch (FileNotFoundException e) {
System.out.println("can not find the file");
} catch (IOException e) {
e.printStackTrace();
}
}else{
//System.out.println("时间还不到呢,不要着急哦!");
}
}
};
public void start(int delay, int internal) {
timer.schedule(task, delay * 1000, internal * 1000);
}
}
内容总结
以上是互联网集市为您收集整理的java定时备份数据之二_MySQL全部内容,希望文章能够帮你解决java定时备份数据之二_MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。