以mysql为例:

BackupDb.java数据库备份类:

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秒执行一次

}

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

}

}

相关标签:

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

java mysql自动备份_java定时备份数据之二_MySQL相关推荐

  1. java mysql查询试题_java 面试题三十二 mysql查询面试题

    题一: 新建学生-课程数据库的三个表: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) Sno为主码; 课程表:Course(Cno,Cname,Cpno,Credeit ...

  2. [转帖]tar高级教程:增量备份、定时备份、网络备份

    tar高级教程:增量备份.定时备份.网络备份 作者: lesca 分类: Tutorials, Ubuntu 发布时间: 2012-03-01 11:42 ė浏览 27,065 次 61条评论 一.概 ...

  3. linux 自动保存网页,Linux 定时备份网站数据至七牛云存储

    网站数据是站长的命根子,所以每日备份就很重要.如果你没有FTP空间,可以申请一个七牛云存储,免费10G空间备份一般的小站足够了.这里介绍一个备份网站文件和数据库到七牛的脚本,实测效果还不错,Linux ...

  4. java控制一次传10条数据_java 定时同步数据的任务优化

    前言 定时任务在系统中并不少见,主要目的是用于需要定时处理数据或者执行某个操作的情况下,如定时关闭订单,或者定时备份.而常见的定时任务分为2种,第一种:固定时间执行,如:每分钟执行一次,每天执行一次. ...

  5. navcat定时备份mysql_MySQL——定时备份,保留最新31天的数据

    一.背景 概述: 对于我们的生产数据库,都需要定时做备份,以免数据丢失.比如每日备份,同时也需要将以前的进行清理.此处我展示的是只保留最新的 31 天数据. 二.备份命令使用 1,mysqldump ...

  6. java定时数据同步_java 定时同步数据的任务优化

    前言 定时任务在系统中并不少见,主要目的是用于需要定时处理数据或者执行某个操作的情况下,如定时关闭订单,或者定时备份.而常见的定时任务分为2种,第一种:固定时间执行,如:每分钟执行一次,每天执行一次. ...

  7. 服务器数据的实时备份与定时备份(rsync+inotify)

    文章目录 安装调试inotify(主服务器) 调试rsync 编写实时同步脚本(主服务器) 编写定时备份脚本(备份端) 需求:对服务器数据进行实时备份,不能丢失任何已生成数据 思路:需要新增一台备份服 ...

  8. linux tar 增量备份,tar高级教程:增量备份、定时备份、网络备份

    一.概述 备份与恢复对于系统维护而言是至关重要的事情.不合理的备份与还原会让你的数据面临丢失的风险.许多用户都在丢失重要数据后才意识到这种风险.而要从这种情况恢复数据将是非常耗时并且困难的.所以我们应 ...

  9. java mysql重连_java mysql

    关于 java mysql的搜索结果 问题 连接mysql错误,Druid-ConnectionPool-Create-1641320886 16:52:01.163 [Druid-Connectio ...

最新文章

  1. 29个月过去了,CSDN排名前200了:排名不断靠前的过程中,自己的技术水平和竞争力一定会不断向上...
  2. 我能成为项目经理么?
  3. php 模板制作教程,Destoon模板制作简明教程_PHP教程
  4. antd的 input有下拉_antd select下拉添加全选的按钮
  5. unity3d collider自动调整大小_Maya模型在Unity3d中的快速烘焙【2020】
  6. 【贪心】Sunscreen(poj 3614/luogu 2887)
  7. 微博:冬奥期间累计共清理相关违规内容近31万条
  8. 计算机网络学习笔记(15. OSI参考模型③、TCP/IP参考模型)
  9. java中的装饰模式讲解,java 中设计模式(装饰设计模式)的实例详解
  10. 【超链接】多媒体工具网站
  11. 计算机中硬盘驱动器安装在哪里,解决方法:在笔记本电脑中安装硬盘驱动器的步骤如何在笔记本电脑中安装硬盘驱动器...
  12. audio2mid:音频提取主旋律
  13. serverTimezone
  14. 局域网即时通讯软件_做企业即时通讯软件,我们是认真的
  15. Vector For All (slight return)
  16. pycharm设置字体粗细
  17. QGIS基于多期哨兵2影像遥感指数阈值法提取冬小麦分布(3)-NDVI阈值
  18. 调音台使用基础-增益结构与推子位置
  19. 【通信】经PPM调制的超宽带信号经斯白噪声信道的系统matlab仿真
  20. 联发科有没有高端处理器_联发科官宣,全球第六款7nm处理器来袭,专为游戏而生...

热门文章

  1. greaterT()和lessT()
  2. PyTorch机器学习从入门到实战-CH2
  3. 用c#输出正九九乘法表_用C#写九九乘法表
  4. 【☀️~爆肝万字总结递归~❤️玩转算法系列之我如何才能掌握递归解题的能力❤️~十大经典问题助你突破极限~建议收藏☀️】
  5. SSM实现个人博客-day04
  6. 浙江省第二届大学生网络与信息安全竞赛在线预赛
  7. Stock Arbitraging
  8. 活在无尽梦境的后续 β
  9. 桂林电子科技大学计算机导论,Welcome to Guilin University of Electronic Technology(桂林电子科技大学)...
  10. 天涯明民显示连接不上服务器,关于无法正常登录天涯的N种解决办法