国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

使用springboot對linux進行操控的方法示例

瀏覽:28日期:2022-09-27 18:46:36

1,在pom中導入

<dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</artifactId> <version>build210</version> </dependency>

2,編寫工具類

package org.jeecg.modules.system.util;/** * @Description: * @Author: LGX * @Date: 2020/11/19 10:36 */import ch.ethz.ssh2.Connection;import ch.ethz.ssh2.Session;import ch.ethz.ssh2.StreamGobbler;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang.StringUtils;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import java.io.*;/** * 遠程執行linux的shell script * @author Ickes * @since V0.1 */@Data@NoArgsConstructor@AllArgsConstructor@Slf4j@Componentpublic class RemoteExecuteCommandutil { //字符編碼默認是utf-8 private static String DEFAULTCHART='UTF-8'; private Connection conn; @Value(value = '${jeecg.linux.ip}') public String ip; @Value(value = '${jeecg.linux.userName}') public String userName; @Value(value = '${jeecg.linux.userPwd}') public String userPwd; /** * 遠程登錄linux的主機 * @author Ickes * @since V0.1 * @return * 登錄成功返回true,否則返回false */ public Boolean login(){ boolean flg=false; try { conn = new Connection(ip); conn.connect();//連接 flg=conn.authenticateWithPassword(userName, userPwd);//認證 } catch (IOException e) { e.printStackTrace(); } return flg; } /** * @author Ickes * 遠程執行shll腳本或者命令 * @param cmd * 即將執行的命令 * @return * 命令執行完后返回的結果值 * @since V0.1 */ public String execute(String cmd){ String result=''; try { if(login()){Session session= conn.openSession();//打開一個會話session.execCommand(cmd);//執行命令result=processStdout(session.getStdout(),DEFAULTCHART);//如果為得到標準輸出為空,說明腳本執行出錯了if(StringUtils.isBlank(result)){ result=processStdout(session.getStderr(),DEFAULTCHART);}conn.close();session.close(); } } catch (IOException e) { e.printStackTrace(); } return result; } /** * @author Ickes * 遠程執行shll腳本或者命令 * @param cmd * 即將執行的命令 * @return * 命令執行成功后返回的結果值,如果命令執行失敗,返回空字符串,不是null * @since V0.1 */ public String executeSuccess(String cmd){ String result=''; try { if(login()){Session session= conn.openSession();//打開一個會話session.execCommand(cmd);//執行命令result=processStdout(session.getStdout(),DEFAULTCHART);conn.close();session.close(); } } catch (IOException e) { e.printStackTrace(); } return result; } /** * 解析腳本執行返回的結果集 * @author Ickes * @param in 輸入流對象 * @param charset 編碼 * @since V0.1 * @return * 以純文本的格式返回 */ private String processStdout(InputStream in, String charset){ InputStream stdout = new StreamGobbler(in); StringBuffer buffer = new StringBuffer();; try { BufferedReader br = new BufferedReader(new InputStreamReader(stdout,charset)); String line=null; while((line=br.readLine()) != null){buffer.append(line+'n'); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return buffer.toString(); }}

3,yml里編寫配置信息

jeecg : linux: ip: 192.168.xxx.xxx userName: root userPwd: 123456

4,注入工具類,編寫命令

@Autowired private RemoteExecuteCommandutil Commandutil; @GetMapping(value = '/training') public String training(@RequestParam(name='cmd') String cmd){// String a = 'sh /opt/shops/test1.sh 1 3'; //命令返回的信息 String cmdInformation =Commandutil.execute('source /etc/profile;'+cmd); return cmdInformation; }

由于ssh連接無法自動獲取環境變量的值,得再執行前面加入source /etc/profile;來手動識別,如果還是不行可以在/etc/profile末尾加入export PATH='$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games'

到此這篇關于使用springboot對linux進行操控的方法示例的文章就介紹到這了,更多相關springboot linux操控內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 久久精品店 | 国产成人精品一区二区三在线观看 | 成人国产视频在线观看 | 久草视频在线资源 | 国产精品亚洲视频 | 国内国产真实露脸对白 | 欧美精品三级在线 | 久久全国免费久久青青小草 | 日本特级黄毛片毛片视频 | 亚洲精品久久久久中文字幕一区 | 亚洲成在人线久久综合 | 国产真人毛片一级视频 | 精品久久久中文字幕二区 | www.午夜| a国产成人免费视频 | 国内精品小视频福利网址 | 国产日本三级欧美三级妇三级四 | 久久国产99 | 日日操夜夜爽 | 日本理论在线 | 亚洲欧美成人网 | 日本特黄特色高清免费视频 | 国产一级毛片外aaaa | 深夜国产成人福利在线观看女同 | 亚洲欧美日韩精品久久亚洲区色播 | 午夜爽爽性刺激一区二区视频 | 午夜免费片在线观看不卡 | 日韩三级免费观看 | 久久成人a毛片免费观看网站 | 人操人碰 | 国产看片一区二区三区 | 日韩毛片高清免费 | 国产精品免费一区二区三区 | 欧美日韩国产综合一区二区三区 | 视频偷拍一级视频在线观看 | 2022国产精品网站在线播放 | 免费观看日本视频 | 亚洲视频 欧美视频 | xxxx欧美视频| 在线国产一区二区 | 一级做a爱片特黄在线观看免费看 |