1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | //读取服务器磁盘空间信息命令,读取使用率大于 90%的 String cmd = "df -h | grep -b -E \\(9[1-9]\\%\\)\\|\\(100\\%\\)"; JSch sshSingleton = new JSch(); //从配置文件中加载用户名和密码 Properties userProp = new Properties(); userProp.load(new FileReader("user.properties")); String userName = userProp.getProperty("username"); String password = userProp.getProperty("password"); //从配置文件中加载服务器信息 Properties serversProp = new Properties(); serversProp.load(new FileReader("servers.properties")); for (Map.Entry<Object, Object> serverProp : serversProp.entrySet()) { String name = (String) serverProp.getKey(); String server = (String) serverProp.getValue(); System.out.println("Start working on: " + name); Session session = sshSingleton.getSession(userName, server); session.setPassword(password); Properties config = new Properties(); //设置 SSH 连接时不进行公钥确认 config.put("StrictHostKeyChecking", "no"); session.setConfig(config); session.connect(); //打开命令执行管道 ChannelExec channel = (ChannelExec) session.openChannel("exec"); BufferedReader in = new BufferedReader(new InputStreamReader( channel.getInputStream())); channel.setCommand(cmd); channel.connect(); //读取命令输出信息 String msg; while ((msg = in.readLine()) != null) { System.out.println(msg); } channel.disconnect(); session.disconnect(); } |
1 2 | username=admin password=xxxxxxxx |
1 2 3 4 5 6 | #alias name = host name/IP server1=192.168.0.11 server2=192.168.0.12 server3=192.168.0.13 server4=192.168.0.14 server5=192.168.0.15 |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |