作者 朱兆平

在线执行CMD命令运维级别处理

... ... @@ -136,3 +136,8 @@ custom:
#回执解析成功后的备份目录
receptBakDir: ./success
errBakDir: ./error
devops:
dir:
singlewindow-tcs-recept: D:\TCSSingleWindow\recive
tianbo-tcs-recept: D:\Data\Receive
cfps-subscribe-dir: D:\系统部署\imf_Warehouse_reader\xmlFromImf
... ...
... ... @@ -28,3 +28,18 @@
* 集成thymeleaf,webmvc 视图配置参考资料[地址](https://blog.csdn.net/zheng_chang_wei/article/details/76155440)
[打jar包后找不到路径](https://blog.csdn.net/qq_37372909/article/details/84824805)
* 支持在线CMD功能,运维级,访问路径/cmd
* 查询进程pid:
* wmic process get caption,commandline,processid /value |findstr java
* wmic process get name,executablepath,processid /value |findstr java
* 停止启动服务: wmic Service where caption="新舱单数据订阅服务" call stopservice / wmic Service where caption="新舱单数据订阅服务" call startservice
* 系统服务截图在新舱单维护手册中,有道云笔记中也有。
舱单回执目录: D:\Data\Receive
单一窗口回执目录: D:\TCSSingleWindow\recive
单一窗口报文转换工具目录:D:\TCSSingleWindow\报文转换工具,"java -Dfile.encoding=utf-8 -jar convert.jar"
货运数据订阅目录:D:\系统部署\imf_Warehouse_reader\xmlFromImf
* 配合微信前端定时监控3个回执目录的文件数量,超过警戒值 微信发出提醒
* path = /devops/watchdir?dir=tcs
参数dir,可以是指定目录值,也可以是stcs、tcs、cfps 分别代表单一窗口回执目录、商务节点回执目录、CFPS数据订阅目录
\ No newline at end of file
... ...
package com.tianbo.analysis.controller;
import com.tianbo.analysis.handle.CustomXmlHandle;
import com.tianbo.util.Date.DateUtil;
import com.tianbo.util.IO.FileTool;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.util.Iterator;
import java.util.List;
@RestController
@Slf4j
@RequestMapping("/devops")
public class DevOpsController {
//单一窗口回执读取目录
@Value("${devops.dir.singlewindow-tcs-recept}")
private String singlewindow_tcs_recept_dir;
//天博TCS回执读取目录
@Value("${devops.dir.tianbo-tcs-recept}")
private String tianbo_tcs_recept_dir;
//CFPS订阅货运报文目录
@Value("${devops.dir.cfps-subscribe-dir}")
private String cfps_recept_dir;
@RequestMapping("/watchdir")
public Integer singlewindow(@RequestParam(value = "dir",required = true,defaultValue = "D:\\系统部署\\imf_Warehouse_reader\\xmlFromImf") String dir){
switch (dir){
case "stcs" :
dir = singlewindow_tcs_recept_dir;
break;
case "tcs" :
dir = tianbo_tcs_recept_dir;
break;
case "cfps" :
dir = cfps_recept_dir;
break;
default:
dir = cfps_recept_dir;
break;
}
try{
File fileDirectory = new File(dir);
List<File> files = FileTool.readDirectoryFiles(fileDirectory);
if(files!=null && !files.isEmpty()){
return files.size();
}else {
return 0;
}
}catch (Exception e){
e.printStackTrace();
log.error("获取目录文件出错",e);
}
return 500;
}
}
... ...