flume啟動停止指令碼
阿新 • • 發佈:2022-05-16
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