perf:测试数据库备份

This commit is contained in:
曾文豪
2023-02-21 09:06:53 +08:00
parent 1918dfbaa0
commit f5b8e989b7
4 changed files with 34 additions and 2 deletions

View File

@@ -1,9 +1,11 @@
package com.tiesheng.database.config;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.RuntimeUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.tiesheng.database.utls.TieshengDbUtil;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@@ -33,10 +35,12 @@ public class DbBackupConfig {
String url = SpringUtil.getProperty("spring.datasource.url");
String username = SpringUtil.getProperty("spring.datasource.username");
String password = SpringUtil.getProperty("spring.datasource.password");
String dbName = TieshengDbUtil.getTableSchema(url);
try {
RuntimeUtil.exec(StrUtil.format("mysqldump -u{} -p{} {} > {}{}.sql", username, password, username,
getPath(), DateUtil.format(new Date(), format)
String saveFile = StrUtil.format("{}{}/{}.sql", getPath(), dbName, DateUtil.format(new Date(), format));
FileUtil.mkParentDirs(saveFile);
RuntimeUtil.exec(StrUtil.format("mysqldump -u{} -p{} {} > {}", username, password, dbName, saveFile
));
} catch (Exception ignored) {
}