我想編寫一個Linux shell腳本來運行client.sh程序來打開一個JBoss Fuse shell,然後依次運行命令如「container-stop」 JBoss Fuse shell並最終從JBoss Fuse shell退出。什麼是完成這個最好的方法?在JBoss Fuse shell中運行命令的Linux shell腳本
問候。
我想編寫一個Linux shell腳本來運行client.sh程序來打開一個JBoss Fuse shell,然後依次運行命令如「container-stop」 JBoss Fuse shell並最終從JBoss Fuse shell退出。什麼是完成這個最好的方法?在JBoss Fuse shell中運行命令的Linux shell腳本
問候。
,你需要執行的命令如下:
./client -r 3 -d 2 -u admin -p admin 'container-stop my-container'
這個例子將認證和將要執行的期望的命令的單個步驟。 參數-u和-p是用戶名和密碼。有幾個可選參數,如-r用於在發生錯誤時重試,並且-d用於延遲。你可以省略它們。
如果像重新啓動單個Fabric環境那樣執行的命令很少,那麼可能會將它作爲bash腳本編寫。
但是如果您需要靈活,集中,能夠同時在多種環境下運行,通用,便攜等,那麼我認爲您最好使用一些自動化系統。它會在以後付清。在這種情況下,我建議你看看Ansible,因爲它很輕量級,並且很容易爲它編寫腳本。這是您安裝在單臺計算機上的應用程序。從那裏你可以SSH進入遠程機器並執行特定的任務。這些說明必須在一個簡單的Ansible腳本中提供,稱爲playbook。您也可以擁有多個目標主機,並且可以同時執行任意數量的任務。
可能重複[什麼是在Bash中ssh和運行多個命令的最簡潔的方法?](https://stackoverflow.com/questions/4412238/what-is-the-cleanest-way-to-ssh-and -run-multiple-commands-in-bash) –
這個問題很像是重複的,因爲'client.sh'基本上建立了一個到運行實例的SSH連接。只需使用shell中的普通ssh客戶端併發送您喜歡的任何命令即可。 –