Shell 杀掉并重启进程 -- filebeat重启

在搭建ELK日志系统的时候,由于需要调试一些参数,且因某些原因没有设置为系统服务,也没有设置快捷方式,每次重启都要指定配置很是麻烦,于是写了一个脚本来达到一键重启的目的,稍微修改一下可达到公用。

# 获取当前用户并截取前7位,如果是root用户则退出操作
current_user=$(whoami)
user=${current_user:0:7}
if [ $user = "root" ]; then
  echo "current user is root, exit..."
  exit
else
  echo "current user is $user"
fi

# 匹配当前用户操作的filebeat进程,可能是数组,遍历杀掉进程
pids=$(ps -ef | grep filebeat | grep $user | grep -v "grep" | awk '{print $2}')
for id in $pids
do
  kill -9 $id
  echo "killed pid $id"
done

# 判断日志文件是否存在,不存在则创建
if [ ! -f "logs/filebeat"  ]; then
  mkdir -p logs
  cd logs
  touch filebeat
  echo "create filebeat log file..."
  cd ..
fi

echo "current path is $(pwd)"

# 后台启动filebeat,并将日志追加到日志文件
nohup ./filebeat -c filebeat.yml >> logs/filebeat  &
发布了15 篇原创文章 · 获赞 16 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/oyc619491800/article/details/103589985