java定时备份数据之二_MySQL

php中文网
发布: 2016-06-01 13:07:48
原创
1335人浏览过

以mysql为例:

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类      定时任务类

立即学习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("备份成功");

海魂高科企业管理系统1.0 修正版
海魂高科企业管理系统1.0 修正版

主要功能如下: 一、系统管理:管理员管理,可以新增管理员及修改管理员密码;数据库备份,为保证您的数据安全本系统采用了数据库备份功能;上传文件管理,管理你增加产品时上传的图片及其他文件。 二、企业信息:可设置修改企业的各类信息及介绍。 三、产品管理:产品类别新增修改管理,产品添加修改以及产品的审核。 四、订单管理:查看订单的详细信息及订单处理。 五、会员管理:查看修改删除会员资料,及锁定解锁

海魂高科企业管理系统1.0 修正版 0
查看详情 海魂高科企业管理系统1.0 修正版

     }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速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号