logstash服务启动脚本

logstash服务启动脚本

最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改

#添加用户
useradd logstash -M -s /sbin/nologin
mkdir /var/log/logstash/
chown -R logstash:logstash /var/log/logstash/
chown -R logstash:logstash /usr/local/logstash-2.0.0/

vi /etc/init.d/logstash
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: logstash
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: S 0 1 6
# Short-Description: Logstash
# Description: Starts Logstash as a daemon.
# Author: [email protected]
### END INIT INFO

source /etc/init.d/functions
source /lib/lsb/init-functions

# Process name
NAME=logstash
DESC="Logstash Daemon"

# Location of logstash files
LOCATION="/usr/local/logstash-2.0.0/"   #根据实际安装路径修改
CONFIG_DIR="/usr/local/logstash-2.0.0/"
LOGFILE="/var/log/logstash/logstash.log"

SCRIPTNAME=/etc/init.d/logstash
PIDFILE="/var/run/logstash-agent.pid"
LOCK_FILE=/var/lock/subsys/$NAME

NAMEJAVA=java
DAEMONJAVA=`which java`

# Exit if the package is not installed
if [ ! -x "$DAEMONJAVA" ]; then
{
  echo "Couldn‘t find $NAMEJAVA"
  exit 99
}
fi

start() {
        echo -n "Starting $DESC : "
        if [ "$(ps aux|grep -E "*/usr/local/logstash*" |grep -v grep)" != "" ];then
             echo "$desc already running...."
             exit 0

        else

        $LOCATION/bin/logstash -f  $CONFIG_DIR/logstash_agent.conf >$LOGFILE 2>&1  &
        RETVAL=$?
        sleep 3
        echo
            if [ "$(ps aux|grep -E "*/usr/local/logstash*" |grep -v grep)" != "" ];then
                echo "$DESC Started "
                [ $RETVAL -eq 0 ] && touch $LOCK_FILE
                return $RETVAL
            fi

        fi

}
stop() {
        echo -n $"Stop $DESC: "
        killall $NAMEJAVA
        RETVAL=$?
        sleep 3
        echo
        if [ "$(ps aux|grep -Eqi "*/usr/local/logstash*" |grep -v grep)" = "" ];then
                echo "$DESC Stoped "
                [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$NAME $PIDFILE
                return $RETVAL
        fi

}
restart() {
        stop
        start
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  status)
        status $NAMEJAVA
        RETVAL=$?
        ;;
   *)
        echo $"Usage: $0 {start|stop|restart|status}"
        RETVAL=1
esac
exit $RETVAL
EOF

chmod +x /etc/init.d/logstash
#设置开机启动
chkconfig --add logstash
chkconfig logstash on

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

时间: 2024-08-10 19:18:18

logstash服务启动脚本的相关文章

利用shell开发rsync服务启动脚本

利用shell函数开发rsync服务启动脚本,之前的不够专业 #!/bin/bash #chkconfig: 2345  20 80                       #这两行加入kconfig #description: Saves and restores system entropy  pool source /etc/init.d/functions    #调用标准的函数库 aa() {   echo "plz one canshu"   exit 5 } bb()

nginx 源码编译安装并编写服务启动脚本

1. 使用xshell将nginx源码包上传到server 2. 安装依赖的软件包工具 zlib-devel?? pcre-devel?? gcc? gcc-c++ yum -y install zlib-devel pcere-devel gcc gcc-c++ 验证一下: 3. 指定nginx的运行用户 (创建nginx用户不使其登录系统.-M不创建宿主目录) [[email protected] ~]# useradd -s /sbin/nologin -M nginx 4. 编译安装ng

[shell脚本] mysql服务启动脚本

服务启动脚本(初始化.启动.登录) #!/bin/bash export PID=/usr/local/nestdb_master/bin/mysqld export PASSWORD=123456 function status() { ps -ef | grep -v 'grep'|grep ${PID} >/dev/null if [ $? -eq 0 ]; then echo "running" return 0 else echo "not running&q

HAProxy服务启动脚本

HAProxy是一个开源的.高性能的.基于TCP(第四层)和HTTP(第七层)应用的负载均衡软件,借助HAProxy可以快速.可靠地提供基于TCP和HTTP应用的负载均衡解决方案. 显著优点: 可靠性和稳定性非常好,可以与硬件级的F5负载均衡设备相媲美: 最高可以同时维护40 000~50 000个并发连接,单位时间处理的最大请求数为20 000个,最大数据处理能力可达10Gbps 支持多于8种负载均衡算法,同时也支持session(会话)保持. 支持虚拟主机功能,这样实现web负载均衡更加灵活

Apache 服务启动脚本

Apache的启动脚本一般情况,如果是手动编译LAMP的话,一般情况下apache是没有启动脚本的,也就是说用户不能通过简单的/etc/init.d/httpd start/stop/restart来启动/关闭/重新启动 其实在源码里已经有启动的脚本,我们要修改下即可,把Apache加入系统SysV服务中来. 在源码httpd-2.x.x/build/rpm中存在httpd.initcp httpd.init /etc/init.d/httpd vim /etc/init.d/httpd #!/

mysql服务启动脚本详解

1 #!/bin/sh 2 # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB 3 # This file is public domain and comes with NO WARRANTY of any kind 4 5 # MySQL daemon start/stop script. 6 7 # Usually this is put in /etc/init.d (at lea

Nginx的编译安装及服务启动脚本

1.解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries".同时,还需要专门安装pcre-devel包:# yum -y install pcre-devel 2.添加系统用户,实现与之运行nginx的服务进程 groupadd -r nginx useradd -r -g nginx nginx id nginx    查看新建的用户id 3.下载源码包上传编译安装 (www

spring cloud 微服务启动脚本

#!/bin/bash APP_NAME=xxx JAR_FILE=$APP_NAME.jar LOG_PATH=/home/chen/logs/log start(){ checkpid if [ ! -n "$pid" ]; then echo "启动命令" echo "nohup java -jar $JAR_FILE >nohup.out &" nohup java -jar $JAR_FILE >nohup.out

通过Shell开发企业级标准服务启动脚本案例(MySQL)

老男孩教育Linux高端运维班Shell课后必会考试题: 企业Shell面试题10:开发企业级MySQL启动脚本 说明: MySQL启动命令为: /bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 >/dev/null & 停止命令逻辑脚本为: mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/n