Mysql 定时导出sql 脚本
2018-01-26 17:42
666 查看
利用dos 命令执行 sql
利用jdk 自带timer 实现定时任务
// 数据库导出 String user = "root"; // 数据库帐号 String password = "xxx"; // 登陆密码 String database = "xxx"; // 需要备份的数据库名 String times= DateUtils.getSpecifyDate(new Date(),"yyyy-MM-dd_HHmmss"); String oldtimes = DateUtils.getSpecifyDate(DateUtils.getPreviousOrNextDaysOfDate(new Date(), -3),"yyyy-MM-dd"); String filepath = "e:\\xxx\\"+times+".sql"; // 备份的路径地址 String stmt1 = "E:\\Program Files\\MariaDB 10.1\\bin\\mysqldump " + database +" -h 192.168.3.120 -u " + user + " -p" + password + " --result-file=" + filepath; ArrayList<String> imgsrc=new ArrayList<String>(); getAllFileName("e:\\xxx",imgsrc); imgsrc.parallelStream().forEach(name ->{ if(name.split("_")[0].equals(oldtimes)){ DeleteFileUtil.delete("e:\\xxx\\"+name); // 删除文件 备份文件保留三天 } }); try { Runtime.getRuntime().exec(stmt1); System.out.println("数据已导出到文件" + filepath + "中"); } catch (IOException e) { e.printStackTrace(); } // 获取所有文件名 public static void getAllFileName(String path, ArrayList<String> fileName) { File file = new File(path); String[] names = file.list(); if (names != null) fileName.addAll(Arrays.asList(names)); }
利用jdk 自带timer 实现定时任务
Timer timer = new Timer(); TimerTask t1 = sqlbackup(); timer.schedule(t1, 0, 3600000);
相关文章推荐
- MySQL导出和导入SQL脚本
- mysql执行导出导入sql脚本
- MySQL导出和导入SQL脚本
- MySQL导入sql脚本 导出数据库
- Mysql导出sql脚本的正确方式!
- MySQL导入sql脚本 导出数据库
- 导出MySql表结构及MySql执行外部SQL脚本
- mysql定时生成sql脚本
- MySQL导出和导入SQL脚本
- navicate for mysql 导出sql脚本,然后通过notepad++ 正则表达式加工
- MySQL导入和导出sql脚本
- PowerDesigner建模后导出sql脚本,再导入mysql中
- [转]MySQL导入和导出SQL脚本
- mysql 导入导出sql脚本
- MySQL导入和导出sql脚本-导出表中前n条数据
- MySQL导入和导出sql脚本
- mysql导出.sql脚本
- Mysql导出SQL脚本和导入SQL脚本
- 【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件