`
liuxi1024
  • 浏览: 384929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql数据库备份--java执行cmd命令

阅读更多

1、Process类介绍

 

      Process类是一个抽象类(所有的方法均是抽象的),封装了一个进程(即一个执行程序)。
      Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。
      ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息。

 

2、使用Runtime.exec执行cmd命令备份mysql数据库

 

private boolean backup(String username, String password, String mysqldump, String filePath) {
		boolean bool = false;
		String cmd = mysqldump;
		String dir = filePath;
		if (!dir.substring(dir.length() - 1).equals(File.separator)) {
			dir += File.separator;
		}
		dir += "bak_" + new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()) + ".sql";
		cmd = cmd + " -u " + username + " --password=" + password + " fcs > " + dir;
		System.out.println(cmd);
		try {
			Process p = Runtime.getRuntime().exec("cmd /C " + cmd);
			p.waitFor();
			bool = true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return bool;
	}

 

说明: p.waitFor()表示当前线程等待process这个线程执行完毕,再开始往下执行。该方法返回0时表示正常终止。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics