日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

java mysql自动备份_java定时备份数据之二_MySQL

發(fā)布時間:2024/9/30 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mysql自动备份_java定时备份数据之二_MySQL 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

以mysql為例:

BackupDb.java數(shù)據(jù)庫備份類:

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類 定時任務類

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("備份成功");

}else{

System.out.println("備份未成功");

//在備份未成功的情況下重新備份

new PickTask().start(1, 60); //隔60秒執(zhí)行一次

}

} 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);

}

}

相關標簽:

本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!

總結(jié)

以上是生活随笔為你收集整理的java mysql自动备份_java定时备份数据之二_MySQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。