2015-12-15 166 views
2

有誰知道如何通過Jmeter從SSH執行一系列命令。我使用了http://www.technix.in/execute-linux-command-shell-script-apache-jmeter/#comment-8456中提到的SSH採樣器,並且能夠使用我自己的用戶登錄到遠程服務器。但是,我想要做更多的步驟。不知道我該怎麼辦從Jmeter運行SSH命令和shell腳本

  1. 須藤給不同的用戶 - 「須藤蘇 - 報告」
  2. 更改爲某個目錄
  3. 運行一些shell腳本已經存在
  4. shell腳本會產生一些輸出文件。我需要從那裏的SFTP輸出文件到本地Jmeter目錄

  5. 寫一些測試來驗證輸出文件。這可以在以後做,但如何做前4個步驟。

我面臨的主要問題是我無法理解我如何在SSH採樣器中運行一系列命令。我試過使用;它的工作。但是我無法做到Sudo並從那裏運行shell腳本。

任何幫助將不勝感激。

乾杯! 維韋克

回答

2

su command manual

-c, --command=command 
      Pass command to the shell with the -c option. 

所以,你可以用su替代sudo並執行類似:

su -c "cd /some/directory && ./run_some_script" -s /bin/bash report 

How to Run External Commands and Programs Locally and Remotely from JMeter指南以獲取更多信息。

+1

謝謝@dmitri 但仍然「sudo su - report -c pwd」不起作用。我向Jmeter添加了SSH採樣器,然後使用主機名,用戶名和密碼連接到遠程unix機器。這很好連接。但是,當我使用Sudo命令它沒有奏效。 下面是我的JMeter計劃看起來像: –

+1

這是我在SSH採樣已配置的JMeter: 主機名 - Unix_Server 端口 - 22 用戶 - VivekM 密碼 - XXXXX 執行命令 - 須藤蘇 - 報告-c pwd 在查看結果樹我可以看到它連接到我的用戶,但仍然蘇多不起作用的服務器。 然後我寫了一個java程序來做類似的東西。然而,在Java也它被連接,但在運行須藤它給下面的錯誤: 連接 須藤:對不起,你必須有一個tty運行sudo的 退出狀態:1 DONE –

+1

我提到sudo的地方? –