1. 程式人生 > 其它 >flume啟動停止指令碼

flume啟動停止指令碼

flume啟動停止指令碼

1.在bin/目錄下建立f1.sh

vim f1.sh

寫入

#! /bin/bash

case $1 in
"start")
        for i in hadoop01 hadoop02
        do
            echo"---------啟動 $i 採集flume----------"
            ssh $i "nohup /opt/flume/bin/flume-ng agent --conf-file /opt/flume/conf/flume-kafka.conf --name a1 -Dflume.root.logger=INFO,LOGFILE >/opt/flume/log1.txt 2>&1  &
" done ;; "stop") for i in hadoop01 hadoop02 do echo"---------停止 $i 採集flume----------" ssh $i "ps -ef | grep flume-kafka | grep -v grep |awk '{print \$2}' | xargs -n1 kill -9" done ;; esac

說明

1:nohup,該命令可以在你退出帳戶/關閉終端之後繼續執行相應的程序。nohup就是不掛起的意思,不掛斷地執行命令。

2:awk 預設分隔符為空格

3:$2是在“”雙引號內部會被解析為指令碼的第二個引數,但是這裡面想表達的含義是awk的第二個值,所以需要將他轉義,用\$2表示。

4:xargs 表示取出前面命令執行的結果,作為後面命令的輸入引數

2.增加指令碼執行許可權

chmod 777 f1.sh

3.測試指令碼

f1.sh start
f1.sh stop