main
黄海 7 months ago
parent d9251eb783
commit 5c3bffcbc8

@ -1,25 +1,25 @@
package com.dsideal.YunXiaoTools.Controller; package com.dsideal.YunXiaoTools.Controller;
import com.dsideal.YunXiaoTools.Utils.BackupMysqlUtil;
import com.jfinal.aop.Before; import com.jfinal.aop.Before;
import com.jfinal.core.Controller; import com.jfinal.core.Controller;
import com.jfinal.ext.interceptor.GET; import com.jfinal.ext.interceptor.GET;
import com.jfinal.kit.Kv; import com.jfinal.kit.Kv;
import java.io.IOException;
public class ReadDataController extends Controller { public class ReadDataController extends Controller {
/** /**
* mysqlOBS * mysqlOBS
* @throws IOException
*/ */
// http://10.10.21.20:9008/readMysql // http://10.10.21.20:9008/backupMysql
@Before({GET.class}) @Before({GET.class})
public void readMysql() throws IOException { public void backupMysql() {
//String url=ReadDataUtil.doAction(); BackupMysqlUtil bm = new BackupMysqlUtil();
Kv kv=Kv.create(); String url = bm.doAction();
kv.set("success",true); Kv kv = Kv.create();
kv.set("message","获取并上传数据到OBS成功"); kv.set("success", true);
//kv.set("url",url); kv.set("message", "获取并上传数据到OBS成功");
kv.set("url", url);
renderJson(kv); renderJson(kv);
} }
} }

@ -1,5 +1,6 @@
package com.dsideal.YunXiaoTools.Cron4j; package com.dsideal.YunXiaoTools.Cron4j;
import com.dsideal.YunXiaoTools.Utils.BackupMysqlUtil;
import com.dsideal.YunXiaoTools.Start; import com.dsideal.YunXiaoTools.Start;
import com.jfinal.plugin.cron4j.ITask; import com.jfinal.plugin.cron4j.ITask;
import lombok.SneakyThrows; import lombok.SneakyThrows;
@ -9,8 +10,9 @@ public class LingDianTask implements ITask {
@SneakyThrows @SneakyThrows
public void run() { public void run() {
//如果是读取侧 //如果是读取侧
if(Start.DEPLOY_ID ==1){ if (Start.DEPLOY_ID == 1) {
// ReadDataUtil.doAction(); BackupMysqlUtil bm = new BackupMysqlUtil();
bm.doAction();
} }
} }

@ -1,8 +1,7 @@
package com.dsideal.YunXiaoTools; package com.dsideal.YunXiaoTools.Utils;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import com.dsideal.YunXiaoTools.Utils.ObsUtil;
import com.jfinal.kit.PropKit; import com.jfinal.kit.PropKit;
import java.io.*; import java.io.*;
@ -11,7 +10,7 @@ import java.time.format.DateTimeFormatter;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class BackupUtil { public class BackupMysqlUtil {
//数据库连接串 //数据库连接串
public static String jdbcUrl; public static String jdbcUrl;
//数据库用户名 //数据库用户名
@ -79,7 +78,6 @@ public class BackupUtil {
// 等待命令执行完成 // 等待命令执行完成
int exitCode = process.waitFor(); int exitCode = process.waitFor();
if (exitCode == 0) { if (exitCode == 0) {
//System.out.println("数据库备份成功: " + backupPath);
return backupPath; return backupPath;
} else { } else {
throw new RuntimeException("数据库备份失败,错误信息:\n" + errorOutput); throw new RuntimeException("数据库备份失败,错误信息:\n" + errorOutput);
@ -139,29 +137,20 @@ public class BackupUtil {
} }
} }
public static void doAction() { public String doAction() {
BackupUtil backup = new BackupUtil(); String sourceFile = backup();
String sourceFile = backup.backup();
//压缩成ZIP文件 //压缩成ZIP文件
String zipFile = sourceFile.replace(".sql", ".zip"); String zipFile = sourceFile.replace(".sql", ".zip");
ZipUtil.zip(sourceFile, zipFile); ZipUtil.zip(sourceFile, zipFile);
//文件名称 //文件名称
String fileName = new File(zipFile).getName(); String fileName = new File(zipFile).getName();
// 上传到华为云OBS // 上传到华为云OBS
String key = "HuangHai/YunXiao/" + fileName; String key = "HuangHai/YunXiao/" + fileName;
ObsUtil.uploadToObs(zipFile, key); ObsUtil.uploadToObs(zipFile, key);
//清理此路径下旧的文件 //清理此路径下旧的文件
String url = "https://dsideal.obs.cn-north-1.myhuaweicloud.com/" + key;
System.out.println(url);
//清理
FileUtil.del(sourceFile); FileUtil.del(sourceFile);
FileUtil.del(zipFile); FileUtil.del(zipFile);
} //返回文件路径
return "https://dsideal.obs.cn-north-1.myhuaweicloud.com/" + key;
public static void main(String[] args) {
doAction();
} }
} }
Loading…
Cancel
Save