第一层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   将前面的参数当作结果 传递给 后面的命令

 

posted @ 2024-05-13 23:15  白森  阅读(6)  评论(0编辑  收藏  举报