在搭建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
# 可用此句代替: kill -9 `ps -ef | grep filebeat | grep $user | awk '{print $2}' `
# 如果开启了filebeat自带日志,只需执行下面这句,后面的不需要了
# nohup ./filebeat -c filebeat.yml >> /dev/null &
# 判断日志文件是否存在,不存在则创建
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 &