java 定时备份数据库详解编程语言
*/
public class BackupDb {
public String backup() throws IOException{
String user = root //数据库的用户名
String password = admin //数据库的密码
String database = hrtweb //要备份的数据库名
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat( yyyyMMddHHmmss );
String filepath = d:// +sdf.format(date)+ .sql
File file = new File( d:// ,sdf.format(date)+ .sql );
if(!file.exists()){
file.createNewFile();
}
String stmt1 = mysqldump + database + -h 127.0.0.1 + -u + user + -p +
password + default-character-set=gbk result-file= + filepath;
try {
Runtime.getRuntime().exec(stmt1);
System.out.println( 已经保存到 + filepath + 中 );
} catch (IOException e) {
e.printStackTrace();
}
return filepath;
}
}
/**
创建定时器
*/
public class PickTask {
private Timer timer = new Timer();
private 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);
System.out.println( 开始时间: +beginDate);
BackupDb bdb = new BackupDb();
// 设定备份时间
if (beginTime.equals( 17:09 )) {
try {
bdb.backup(); // 执行文件备份
String dbName = bdb.backup().toString(); // 取出备份的文件名字
String path = d://
int nameNo = dbName.lastIndexOf( // );
//判断文件是否存在,如果存在,则备份成功,如果不存在则备份不成功需要重新备份
File file = new File(path, dbName.substring(nameNo + 1,dbName.length()));
if (file.exists()){
System.out.println( 备份成功 );
}else{
System.out.println( 备份失败,重新备份 );
//在备份未成功的情况下重新备份
new PickTask().start(1, 1);
}
} catch (FileNotFoundException e) {
System.out.println( can not find the file );
} catch (IOException e) {
e.printStackTrace();
}
}else{
System.out.println( 时间还不到呢,不要着急哦! );
}
}
};
//start 方法不能少,主要是schedule方法
public void start(int delay, int internal) {
timer.schedule(task, delay * 1000, internal * 1000);
}
}
/**
测试类,执行定时备份指令
*/
public class TimerUse {
public static void main(String[] args) {
PickTask picktask = new PickTask();
picktask.start(1, 60); // 每60秒执行一次
}
}
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/10306.html
cmysql相关文章
- java h2数据库_JAVA 项目中使用 H2 数据库
- java启动器_JAVA基础:Java 启动器如何查找类
- java中文乱码_Java中文乱码问题的解决方案[通俗易懂]
- 什么是java虚拟机(Java Virtual Machine)?
- java一个字符几个字节_Java 语言中一个字符占几个字节?
- Java把string转json格式_java实体类转json字符串
- JAVA为啥要用stream流处理_java哪个部分最难学
- Java学习笔记之二java标识符命名规范详解编程语言
- 实现Java程序操作MySQL数据库(java调用mysql)
- ?使用 Java 连接 MySQL 数据库的步骤(java怎么连接mysql)
- Java 连接 MySQL 数据库简易实现(java连mysql)
- Oracle收购Java:瞩目引发的变革(oracle收购java)
- Java实现MSSQL数据库连接(java连接mssql)
- Oracle数据库连接的Java Jar包实现(oracle连接jar包)
- 开发开创Linux更美好的Java开发环境(linux集成java)
- 快速上手:Java连接Mongodb数据库(java连接mongodb数据库)
- 使用Java连接SQL Server数据库,轻松实现数据交互(java连sqlserver)
- 使用Java连接MySQL数据库的具体操作方法(java连接mysql代码)
- Java数据库之MySQL学习使用教程(mysql中java教程)
- Java配置Oracle实现稳定的跨平台数据库连接(java配置oracle)
- Java实现与Oracle数据库的无缝整合(java整合oracle)
- Java存入Oracle数据库实现快速高效的数据存储(java存入oracle)
- Java技术将数据写入Oracle数据库(java写入oracle)
- Redis面试中Java相关技术面试题汇总(redis面试题java)