博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java---编写利用runtime命令实现自动备份数据库
阅读量:6122 次
发布时间:2019-06-21

本文共 2670 字,大约阅读时间需要 8 分钟。

runtime可实现调用系统命令打开网页

package day;import java.io.IOException;public class Runt {    public static void main(String[] args) {        Runtime run = Runtime.getRuntime();        System.out.println("jvm最大内存量为"+ run.maxMemory());        try {            run.exec("cmd /c start http://www.baidu.com");    //打开百度        } catch (IOException e) {            e.printStackTrace();        }    }}

实现数据库的定时备份(利用多线程)

package day;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Collections;import java.util.Date;public class Db implements Runnable {    private int m = 0;    public Db(int m) {        this.m = m;    }    public Db() {        this.m = 5;    }    @Override    public void run() {        long ftime = 0;        int num = 0;        long start = 0;        while (true) {            start += 5;            SimpleDateFormat sd = new SimpleDateFormat("yyyHHddHHmmss");            Date d = new Date();            String ff = sd.format(d) + ".sql";            Runtime run = Runtime.getRuntime();            try {                if (start >= (this.m * 60)) {                       //m分钟后开始备份                    run.exec("cmd /c D:\\m8\\mysql-8.0.12\\bin\\mysqldump.exe -uroot -proot zzz zzz > c:\\dbtext\\" + ff);     //使用runtime实现数据库备份zzz数组库                    start = 0;                    num++;                    while (num > 3) {                               //文件夹中只存放最近三次的备份,多余则删除                        File[] f = new File("c:/dbtext").listFiles();                        var arr = new ArrayList
(); for (File fl : f) { ftime = fl.lastModified(); arr.add(ftime); } long min = Collections.min(arr); for (File fl : f) { if (fl.lastModified() == min) { fl.delete(); } } num--; } } } catch (IOException e) { e.printStackTrace(); } try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } }}-----------------------------------------------------------------------------package day;public class Dbtext { public static void main(String[] args) { Db d = new Db(1); Thread th = new Thread(d); //开启线程一直执行 th.start(); }}

 

转载于:https://www.cnblogs.com/zxwen/p/9675153.html

你可能感兴趣的文章
word2010中去掉红色波浪线的方法
查看>>
fabric上下文管理器(context mangers)
查看>>
JQuery-EasyUI Datagrid数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
查看>>
并发和并行的区别
查看>>
php小知识
查看>>
Windows下安装、运行Lua
查看>>
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解(二)
查看>>
初识中间件之消息队列
查看>>
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
查看>>
Spring常用注解
查看>>
我的友情链接
查看>>
PCS子层有什么用?
查看>>
查看端口,关闭端口
查看>>
代码托管平台简介
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
如何对网站进行归档
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>