package cn.gwssi.data.db.monitor.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import cn.gwssi.data.phoenix.util.Init;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
/**
* 远程调用Linux shell 命令 查看物理主机内存和磁盘空间情况
*/
public class HostStateForShell {
public static final String CPU_MEM_SHELL = "top -b -n 1";
public static final String DISK_SPACE_SHELL = "df -hl";
public static final String[] COMMANDS = { CPU_MEM_SHELL, DISK_SPACE_SHELL };
public static final String LINE_SEPARATOR = System.getProperty("line.separator");
private static Session session;
/**
*
* 连接到指定的HOST
* @return isConnect
* @throws JSchException
*
*/
private static boolean connect(String user, String passwd, String host) throws Exception {
JSch jsch = new JSch();
boolean flag = false;
try {
session = jsch.getSession(user, Init.IPMap1.get(host), 22);
session.setPassword(passwd);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
flag = true;
} catch (JSchException e) {
throw new Exception("connect error !", e);
}
return flag;
}
/**
*
* 远程连接Linux 服务器 执行相关的命令
*
* @param commands
*
* 执行的脚本
*
* @param user
*
* 远程连接的用户名
*
*
远程调用Linux shell 命令 查看物理主机内存和磁盘空间情况
最新推荐文章于 2023-01-31 16:17:41 发布
本文介绍了如何通过Java程序远程调用Linux shell命令,详细讲解了如何查看物理主机的内存使用情况和磁盘空间占用状态,帮助系统管理员监控服务器资源。
摘要由CSDN通过智能技术生成