系统备份数据库,并删除多少天以前的数据

开发中可能遇到要备份数据库,并删除30天以前备份的数据

下面代码中详细介绍:

下面是完整代码

public static void main(String[] args) {

//格式化日期为yyyy-MM-dd-HH-mm-ss

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");

//获取当前时间

Date nowDate = new Date();

//备份的保存位置

String mysqlDumpAddress = "E:\\mysqlDump";

//判断要备份数据库路径是否存在,不存在创建

File file = new File(mysqlDumpAddress);

if (!file.exists()) {

file.mkdirs();

}

//日期格式化为yyyy-MM-dd-HH-mm-ss

String data = simpleDateFormat.format(nowDate);

//文件的命名为yyyy-MM-dd-HH-mm-ss.sql

File datafile = new File(file + File.separator + data + ".sql");

try {

//拼接cmd命令 windows下 cmd /c Linux下 /bin/sh

//-hlocalhost localhost表示本地数据库 -P3306 3306数据库端口 -uroot root数据库用户名 -p123456 123456数据库密码

//windows下 cmd /c

Process exec = Runtime.getRuntime().exec("cmd /c mysqldump -hlocalhost -P3306 -uroot -p123456 user > " + datafile);

//Linux下 /bin/sh

//Process exec = Runtime.getRuntime().exec("/bin/sh mysqldump -hlocalhost -P3306 -uroot -p123456 user > " + datafile);

if (exec.waitFor() == 0) {

System.out.println("数据库备份成功,备份路径为:" + datafile);

}

} catch (IOException ioException) {

ioException.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

//删除30天以前的

Calendar calendar = Calendar.getInstance();

calendar.setTime(nowDate);

//-30表示多少天以前

calendar.add(Calendar.DATE, -30);

Date oldTime = calendar.getTime();

String oldTimeFormat = simpleDateFormat.format(oldTime);

File deleteFile = new File(file + File.separator + oldTimeFormat + ".sql");

Path path = Paths.get(file + File.separator + oldTimeFormat + ".sql");

try {

Files.delete(path);

} catch (IOException ioException) {

System.out.println("数据库备份,删除失败!" + path + "不存在!");

ioException.printStackTrace();

}

deleteFile.delete();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值