|
|
|
@ -1,6 +1,10 @@
|
|
|
|
|
package com.dsideal.YunXiaoTools.Utils;
|
|
|
|
|
|
|
|
|
|
import com.jfinal.kit.PropKit;
|
|
|
|
|
import com.obs.services.ObsClient;
|
|
|
|
|
import com.obs.services.model.ListObjectsRequest;
|
|
|
|
|
import com.obs.services.model.ObjectListing;
|
|
|
|
|
import com.obs.services.model.ObsObject;
|
|
|
|
|
|
|
|
|
|
import java.util.regex.Matcher;
|
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
@ -23,6 +27,7 @@ public class CommonUtil {
|
|
|
|
|
throw new RuntimeException("获取mysqldump路径失败", e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取mysql命令路径
|
|
|
|
|
*/
|
|
|
|
@ -70,4 +75,46 @@ public class CommonUtil {
|
|
|
|
|
throw new RuntimeException("解析数据库名失败: " + jdbcUrl, e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取OBS中的最新备份文件
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static String getLastDataBaseZip() {
|
|
|
|
|
String endPoint = PropKit.get("obs_endpoint");
|
|
|
|
|
String ak = PropKit.get("obs_accessKeyId");
|
|
|
|
|
String sk = PropKit.get("obs_accessKeySecret");
|
|
|
|
|
String bucketName = PropKit.get("obs_bucket_name");
|
|
|
|
|
//obs文件夹位置
|
|
|
|
|
String directory = "HuangHai/YunXiao";
|
|
|
|
|
|
|
|
|
|
String res = "";
|
|
|
|
|
// 创建ObsClient实例
|
|
|
|
|
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
|
|
|
|
|
try {
|
|
|
|
|
// 列出指定目录下的ZIP文件
|
|
|
|
|
ListObjectsRequest request = new ListObjectsRequest(bucketName);
|
|
|
|
|
request.setPrefix(directory); // 设置目录前缀
|
|
|
|
|
request.setMaxKeys(1000);
|
|
|
|
|
|
|
|
|
|
ObjectListing result = obsClient.listObjects(request);
|
|
|
|
|
for (ObsObject obsObject : result.getObjects()) {
|
|
|
|
|
String key = obsObject.getObjectKey();
|
|
|
|
|
if (key.toLowerCase().endsWith(".zip")) {
|
|
|
|
|
res = key;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
System.err.println("获取OBS文件列表失败: " + e.getMessage());
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
} finally {
|
|
|
|
|
try {
|
|
|
|
|
obsClient.close();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return res;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|