- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
- try {
- String name = sdf.format(new Date());
- String filePath = System.getProperty("user.dir") + "//" + name + ".sql";
- // 系统执行器
- Runtime rt = Runtime.getRuntime();
- // 导出数据库语句
- StringBuffer cmd = new StringBuffer();
- cmd.append("mysqldump -u");
- cmd.append(ServeConfig.dbUser);
- cmd.append(" -p");
- cmd.append(ServeConfig.dbPass);
- cmd.append(" --set-charset=utf8 ");
- cmd.append(ServeConfig.dbName);
- // 执行导出获取输入流
- Process child = rt.exec(cmd.toString());
- InputStream in = child.getInputStream();
- InputStreamReader ir = new InputStreamReader(in, "utf8");
- // 输出文件
- FileOutputStream fo = new FileOutputStream(filePath);
- OutputStreamWriter os = new OutputStreamWriter(fo, "utf8");
- // 开始读取数据
- char[] temp = new char[1024000];
- int len = 0;
- while ((len = ir.read(temp)) > 0) {
- os.write(temp, 0, len);
- os.flush();
- }
- // 别忘记关闭输入输出流
- in.close();
- ir.close();
- os.close();
- fo.close();
- // 将文件发送到备份服务器
- FileUpLoad upload = FileUpLoad.createFileUpLoad(ServeConfig.backAddr, new File(filePath));
- upload.tryStart();
- upload.waitFinish();
- upload.doClose();
- } catch (Exception e) {
- e.printStackTrace();
- }
来源: http://www.phpxs.com/code/1001750/