summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzhangshuai <[email protected]>2022-07-19 09:40:24 +0800
committerzhangshuai <[email protected]>2022-07-19 09:40:24 +0800
commitb83fcd03c833ea4cb0333854281c53811f9cc557 (patch)
tree5219333ca4a1cd6cdfce3074ad8a45840484ece7 /src
parentf2de37d577edbb77217d021474f431aea521619a (diff)
fix: NEZ-2021 调整agent更新方式,使用echo将 rpm -U 传入atrel-22.08.01
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/geedge/confagent/controller/OTAController.java24
1 files changed, 5 insertions, 19 deletions
diff --git a/src/main/java/net/geedge/confagent/controller/OTAController.java b/src/main/java/net/geedge/confagent/controller/OTAController.java
index ff8f8d2..48c7100 100644
--- a/src/main/java/net/geedge/confagent/controller/OTAController.java
+++ b/src/main/java/net/geedge/confagent/controller/OTAController.java
@@ -20,7 +20,6 @@ public class OTAController extends BaseController{
@Autowired
private ConfagentUtil confagentUtil;
- private String updateSh = "/opt/nezha/nz-agent/update.sh";
@Value("${version}")
private String currentVersion;
@@ -64,20 +63,6 @@ public class OTAController extends BaseController{
return R.error(RCode.OTA_VERSION_ERROR);
}
- //创建update.sh文件 用于在线更新agent
- String updateCommand = String.format("rpm -Uvh %s", updatePackagePath);
- BufferedWriter out = null;
- try {
- out = new BufferedWriter(new FileWriter(updateSh));
- out.write("#!/bin/bash");
- out.newLine();
- out.write(updateCommand);
- } catch (IOException e) {
- e.printStackTrace();
- }finally {
- out.close();
- }
-
//检查atd服务是否启动
InputStream atdStatus = Tool.RuntimeUtil.exec("systemctl status atd").getInputStream();
String atdStatusStr = Tool.IoUtil.read(atdStatus).toString();
@@ -85,11 +70,12 @@ public class OTAController extends BaseController{
return R.error(RCode.OTA_ATD_SERVICE_DOWN);
}
- //延迟一分钟更新
- String atCommand ="at now +1 minute -f %s";
- atCommand = String.format(atCommand,updateSh);
+
+ //延迟一分钟更新 使用echo 将更新命令传入at
+ String atCommand ="echo \"rpm -Uvh %s\" | at now +1 minutes";
+ atCommand = String.format(atCommand,updatePackagePath);
log.info("update nz-agent : {}", atCommand);
- Tool.RuntimeUtil.exec(atCommand);
+ new ProcessBuilder("/bin/bash", "-c", atCommand).start();
return R.ok();
}