From 0b0f668628ec4b5d675a2316d3d70c010a122543 Mon Sep 17 00:00:00 2001 From: zywang Date: Thu, 31 Oct 2024 16:25:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AE=89=E8=A3=85=E5=8C=85?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=BD=E4=BB=A4=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commander/AbstractSystemCommander.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 proxy/src/main/java/io/mpms/common/commander/AbstractSystemCommander.java diff --git a/proxy/src/main/java/io/mpms/common/commander/AbstractSystemCommander.java b/proxy/src/main/java/io/mpms/common/commander/AbstractSystemCommander.java new file mode 100644 index 0000000..8ee16d2 --- /dev/null +++ b/proxy/src/main/java/io/mpms/common/commander/AbstractSystemCommander.java @@ -0,0 +1,74 @@ +package io.jpom.common.commander; + +import cn.hutool.system.SystemUtil; +import com.alibaba.fastjson.JSONObject; +import io.jpom.common.commander.impl.LinuxSystemCommander; +import io.jpom.model.PkgEntity; +import io.jpom.model.data.SystemCommanderResult; +import io.jpom.model.system.ProcessModel; +import io.jpom.system.LinuxRuntimeException; +import io.jpom.util.CommandUtil; + +import java.io.File; +import java.util.List; + +/** + * 系统监控命令 + */ +public abstract class AbstractSystemCommander { + + private static AbstractSystemCommander abstractSystemCommander = null; + + public static AbstractSystemCommander getInstance() { + if (abstractSystemCommander != null) { + return abstractSystemCommander; + } + if (SystemUtil.getOsInfo().isLinux()) { + // Linux系统 + abstractSystemCommander = new LinuxSystemCommander(); + } else { + throw new LinuxRuntimeException("不支持的:" + SystemUtil.getOsInfo().getName()); + } + return abstractSystemCommander; + } + + /** + * 获取整个服务器监控信息 + * + * @return data + */ + public abstract JSONObject getAllMonitor(); + + /** + * 获取节点包信息 + * + * @return data + */ + public abstract List getAllPackageInfo(String mode); + + /** + * 安装节点软件包 + *llv + * @param packageName 软件包名 + * @return 命令执行结果 + */ + public abstract SystemCommanderResult installPackage(String packageName); + + /** + * 卸载节点软件包 + * + * @param packageName 软件包名 + * @return 命令执行结果 + */ + public abstract SystemCommanderResult uninstallPackage(String packageName); + + /** + * 更新节点软件包 + * + * @param packageName 软件包名 + * @return 命令执行结果 + */ + public abstract SystemCommanderResult updatePackage(String packageName); + + +} -- Gitee