ssh遠端到目標機器執行命令shell指令碼
linux下ssh到目標機器首先需要配置免密碼登陸,才能執行如下指令碼
hostnames伺服器列表檔案
master.hadoop
w1.hadoop
w2.hadoop
w3.hadoop
w4.hadoop
執行shell指令碼
#!/bin/bash function usage() { echo "Wrong arguments input..." echo "Usage: `basename $0` topicName handler[lookup|kill]" >&2 echo " eg: `basename $0` service_log lookup" exit 1 } topic_array=("service_log" "service_log_nh" "service_log_agent" "service_log_flow" \ "service_log_rec" "search_log" "user_trace" "user_trace_internal") handler_array=("lookup" "kill") if [ $# -lt 2 ]; then usage fi topic=$1 handler=$2 ## flume agent處理方式判斷 if echo "${handler_array[@]}" | grep -w "$handler" &>/dev/null; then echo "Fount process handler: $handler" else echo "Not found process handler: $handler ...." usage fi ## 判斷是否為需要處理的flume agent名稱 if echo "${topic_array[@]}" | grep -w "$topic" &>/dev/null; then echo "Fount flume agent name: $topic" else echo "Not found flume agent name: $topic ...." usage fi ## 根據handler名稱處理flume agent hosts='hostnames' # hostname列表檔案 while read line do hostname=$line echo "================ $hostname =============" case $handler in lookup) ssh
[email protected]$hostname -nq "ps -ef | grep flume | grep -w $topic | grep -v grep | wc -l" ;; kill) ssh [email protected]$hostname -nq "ps -ef | grep flume | grep -w $topic |awk '{print $2}' |xargs kill -15" ;; *) usage ;; esac done < $hosts
相關推薦
ssh遠端到目標機器執行命令shell指令碼
linux下ssh到目標機器首先需要配置免密碼登陸,才能執行如下指令碼 hostnames伺服器列表檔案 master.hadoop w1.hadoop w2.hadoop w3.hadoop
Jmeter中使用SSH外掛,連線遠端linux機器執行命令
一、Why 在雲主機測試中,需要使用SSH協議連線雲主機進行相關操作 在python中使用paramiko庫很好實現,在如果要使用jmeter做效能測試時,怎麼做? 二、解決 既然原生jmeter沒有相關的ssh sampler,那就先按思路看看網上有沒有現成的,沒有再自己寫,googl
Linux遠端拷貝&遠端執行命令shell指令碼
很多時候linux伺服器管理、釋出程式碼等,通常需要兩個工具,一個是遠端拷貝,一個是遠端執行命令,下面介紹兩個比較好用的指令碼,實現這兩個功能。 需要安裝expect,遠端執行命令,centos下直接yum -y install expect,不能yum安裝下
批量複製及執行命令shell指令碼
平時在處理一個或幾個機器執行環境時,一個機器一個機器處理也能接受,但是如果是一批機器,幾十或幾百臺,要是一臺一臺去安裝環境,光是輸入同一的命令,估計你自己都想吐,所有聰明的人會想一些偷懶的辦法,確實可以找到一些省時省力的方法,比如寫一個批量處理shell指令碼,這幾天在處理一批(八九十臺)機器環境,找了一些批
[轉]python3之paramiko模組(基於ssh連線進行遠端登入伺服器執行命令和上傳下載檔案的功能)
轉自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 閱讀目錄 1、paramiko模組介紹 2、paramiko的使用方法 回到頂部 1、pa
Linux 叢集上批量執行同一命令 shell 指令碼
因實際開發需要,在叢集上多個機器上執行相同的命令,比如執行一個指定的指令碼、刪除相同目錄下的檔案(這個得慎重~~)等,組內的成員開發了一個 allscp (可以批量執行scp 命令來同步線上程式碼)非常好用,我自己也寫了
分發系統介紹 expect指令碼遠端登入 expect指令碼遠端執行命令 expect指令碼傳遞引數
1,分發系統介紹。 藉助expect使用shell指令碼在伺服器上批量更改程式碼。 2,expect指令碼遠端登入 。 使用命令“yum install -y expect”安裝expect工具。 自動遠端登入 vim 1.expect #! /usr/bin/
java本地呼叫cmd,shell命令,遠端呼叫Linux執行命令方法總結
有時候經常會碰到需要遠端呼叫Linux或者本地呼叫Linux或者本地呼叫cmd的一些命令,最近小結了一下這幾種用法 本地呼叫cmd命令 @Test public void testCmd()throws Exception{
expect實現自動scp和ssh登錄後執行命令,並向bash提供返回值
ip地址 用戶名 expect 密碼 #!/bin/bash # 全局變量:用戶名,普通用戶密碼,root密碼 loginname="xxxx" userpwd="xxxx" rootpwd="xxxx" # 讀取iplist(逐行存儲IP地址) cat /root/iplist | whi
[一天幾個linux命令] shell指令碼之正則表示式
shell指令碼之正則表示式 原文連結:Linux–shell指令碼之正則表示式 概念及特點 概念 正則表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定的字元、及這些特定字元的組合,組成一個"規則字串",這個"規則字串"用來表達對字串的一種過濾邏輯。規定一些特殊語
nohup 命令:後臺執行命令、指令碼
轉載出處:AllenW nohup 命令 用途:不掛斷地執行命令。 語法:nohup Command [ Arg … ] [ & ] 描述:nohup 命令執行由 Command 引數和任何相關的 Arg 引數指定的命令,忽略所有結束通話(SIGHUP)訊號。在登出後使用 n
Android-執行命令列指令碼
方式一: Runtime.getRuntime().exec(cmd); 方式二: 先是放入一個String陣列,空格用,號代替,將cmd填入.涉及到靜默安裝的,這裡需要root許可權 String[] args = {"pm", "install"
Python 實現遠端伺服器批量執行命令
paramiko 遠端控制介紹 Python paramiko是一個相當好用的遠端登入模組,採用ssh協議,可以實現linux伺服器的ssh遠端登入。首先來看一個簡單的例子 import paramiko #例項化ssh客戶端 ssh = paramiko.SSHCli
JAVA使用JSch進行SSH連線Linux並執行命令
package utils; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.
重複執行命令的指令碼
工作過程中,為了監控狀態,經常要不斷地重複執行某個命令,因此寫了個指令碼來簡化操作#! /bin/bash # filename:redo.sh #usage: redo.sh [-d delaytime] [-c count] command #預設間隔時間為15s,無限迴
定時執行Linux shell指令碼實現SFTP定時上傳下載檔案
之所以寫這篇文章,是因為網上很多有關文章亂轉載,crontab 命令的語法都是錯的,都直接轉了,雖然很簡單,但也會浪費時間啊,尤其是對於第一次寫的同學來說。轉入正題一:定時任務(大部分文章出錯的就是這個部分)1.執行命令:crontab -e2.按 i 編輯檔案,新增命令如下
CheungSSH比Ansible更優秀的Linux SSH批量管理伺服器 執行命令上傳下載自動化運維工具
安裝部署: 第一步: [ root ~]# yum install -y gcc 第二步:[ root ~]# yum install -y python-devel 第三步 到官網下載pycrypto模組: wget --no-check-certificate https://pypi.py
java遠端呼叫linux的命令或者指令碼
Java通過SSH2協議執行遠端Shell指令碼(ganymed-ssh2-build210.jar) 使用步驟如下: 1.導包 官網下載: http://www.ganymed.ethz.ch/ssh2/ maven座標: [java] view plain copy print?
Python實現ssh批量登入並執行命令
區域網內有一百多臺電腦,全部都是linux作業系統,所有電腦配置相同,系統完全相同(包括使用者名稱和密碼),ip地址是自動分配的。現在有個任務是在這些電腦上執行某些命令,者說進行某些操作,比如安裝某些軟體,拷貝某些檔案,批量關機等。如果一臺一臺得手工去操作,費時又費力,
分散式叢集批量執行命令sh指令碼
#!/bin/bash echo -e command template as follow: "\n sh ~/sh/dist_batch_exec.sh [--background] \"date