1. 程式人生 > >通過java程式碼執行shell命令的小案列

通過java程式碼執行shell命令的小案列

一 需求描述:

通常我們操作linux伺服器都是通過遠端連線工具,比如:SecureCRT,Xmanager等工具,在其上輸入命令來完成一些工作,但是在實際工作中,有些時候需要我們通過java程式碼遠端連線到linux伺服器執行一些shell命令,包括叢集的狀態管理,執行任務,以及叢集的視覺化介面操作等等。為了解決上述的問題,google公司開源了一個專案叫做sshxcute,通過這個jar包可以操作linucx伺服器。

sshxcute專案的地址:

https://code.google.com/archive/p/sshxcute/

sshxcute的使用說明:

https://www.ibm.com/developerworks
/cn/opensource/os-sshxcute/

二 入門案列

1 在idea或者eclipse開發工具中建立maven的java工程,並匯入jar包,由於sshxcute.jar這個jar包沒有maven的座標,需要手動匯入到工程的build path當中去

2 開發程式碼

public static void main(String[] args) throws TaskExecFailException {
        //連線到linux伺服器
        //第一個引數是我們要連線的linux的伺服器的ip地址
        //第二個引數是 linux伺服器的使用者
        //第三個引數是 linux伺服器的使用者對應的密碼
ConnBean connBean = new ConnBean("192.168.52.100", "root", "123456"); SSHExec instance = SSHExec.getInstance(connBean); instance.connect(); //執行shell命令 //echo 'hello world' > /export/servers/demo.txt 這個shell命令是把hello world 寫入demo.txt檔案中,並覆蓋檔案的原來內容 ExecCommand execCommand = new
ExecCommand("echo 'hello world' > /export/servers/demo.txt"); instance.exec(execCommand); instance.disconnect(); }

3 進入linux伺服器,檢視demo.txt的內容是否為hello world,如果是代表你已經操作成功了!

thank you!