Javaプログラムを使用してデータベースファイルを定期的にバックアップし、データベースファイルをリカバリする

4526 ワード

注意:mysqlのbinディレクトリを環境変数Pathに追加するには
1.MySqlのデータベースタイミングをファイルにエクスポートするバックアップ
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import mail.MailSenderInfo;
import mail.SimpleMailSender;

import org.jeecgframework.web.demo.service.test.TaskDemoServiceI;
import org.springframework.stereotype.Service;

@Service("taskDemoService")
public class TaskDemoServiceImpl implements TaskDemoServiceI {

	public void works() {
		//      
		String user = "root"; //      
		String password = "root"; //     
		String database = "oapms"; //          
		Date currentDate = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
		String sdfDate = sdf.format(currentDate);
		String filepath = "e:\\oapms_" + sdfDate + ".sql"; //        
		//   mysqldump   mysql        ,            ,     mysqldump     
		String stmt1 = "mysqldump " + database + " -u " + user + " -p"
				+ password + " --result-file=" + filepath;
		try {
			Runtime.getRuntime().exec(stmt1);
			System.out.println("        " + filepath + " ");
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

2、ディスク上のテキストファイルからMySqlのデータベースにデータを復元する
package util;

import java.io.IOException;

public class Beifen {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//   MySql   
		String filepath = "e:\\oapms_11-35-00.sql"; //        
		//      test

		String stmt1 = "mysqladmin -u root -proot create testbeifen";

		String stmt2 = "mysql -u root -proot testbeifen < " + filepath;
		String[] cmd = { "cmd", "/c", stmt2 };

		try {
			Runtime.getRuntime().exec(stmt1);
			Runtime.getRuntime().exec(cmd);
			System.out.println("     " + filepath + "        ");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

添付:
スケジュールタスクのプロファイル