关闭

数据库备份

268人阅读 评论(0) 收藏 举报

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
  Date now = new Date();
  String fileName = sessionId + sdf.format(now) + ".sql";  //设置备份文件的名称
  log.debug("fileName: " + fileName);
  //Util是我自己写的一个类,用来读取配置文件configure.properties

   批处理文件地址

  http://dl2.csdn.net/down4/20070911/11164635732.bat
  String backupFilePath = Util.getProperty("backupFilePath"); //从配置文件中读取备份文件将要保存在哪个目录
  String mysqlUserName = Util.getProperty("mysql_username");  //数据库帐户
  String mysqlPassword = Util.getProperty("mysql_password");  //数据库密码
  String host = Util.getProperty("mysql_host");               //数据库IP地址
  String dateHandleDir = Util.getProperty("dateHandleDir");   //批处理文件路径
  String backUpDir = dateHandleDir+"backup.bat";
  Runtime cmd = Runtime.getRuntime();                       
  boolean haveError = false;
  File f = new File(backupFilePath);                         
  if(!f.exists()){
   f.mkdirs();                                             //如果目录不存在就创建一个
  }
  
  String commandstr =  "/""+backUpDir +"/""+ " " + mysqlUserName + " " + mysqlPassword + " "
  + host + " " + backupFilePath+fileName;
  log.info("commandstr!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + commandstr);
        Process p = cmd.exec(commandstr);                           //执行备份批处理文件
   BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream()));  //错误备份的输出流
  String line="";
  while ((line = br.readLine()) != null) {
   //发生错误
   log.info("<<<<<<<" + line);
   haveError = true;    
  }
  
  if (haveError) {
   //备份数据库时发生错误
   throw new CnidsException(Constants.FAIL_BACKUP_SQL);
  } 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8574次
    • 积分:147
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:5篇
    • 译文:0篇
    • 评论:3条
    文章存档
    最新评论