第一层flume采集脚本
#! /bin/bash
#1、判断参数是否传入
if [ $# -lt 1 ]
then
echo "必须输入参数...."
exit
fi
#2、根据参数匹配执行
case $1 in
"start")
for host in hadoop102 hadoop103
do
echo "===========启动 $host 第一层flume采集=============="
ssh $host "nohup /opt/module/flume/bin/flume-ng agent -n a1 -c /opt/module/flume/conf/ -f /opt/module/flume/job/file_to_kafka.conf -Dflume.root.logger=INFO,console >/opt/module/flume/logs/flume.log 2>&1 &"
done
;;
"stop")
for host in hadoop102 hadoop103
do
echo "============停止 $host 第一层flume采集============="
ssh $host "ps -ef |grep flume | grep -v grep | awk '{print \$2}' | xargs kill -9"
done
;;
*)
echo "参数输入错误...."
;;
esac
解析:
● awk 文本处理工具
● awk '{print $2}' 默认将文本按照空格进行切割,切割后第二个就是进程号
● xargs kill -9 将前面的参数当作结果 传递给 后面的命令