之前安装filebeat,启动的时候使用命令放到后台的话非常麻烦,所以写了个filebeat的启动脚本,希望能够帮助到大家。
#!/bin/bash PATH=/usr/bin:/sbin:/bin:/usr/sbin export PATH agent="/usr/local/filebeat/filebeat" args="-c /usr/local/filebeat/filebeat.yml -path.home /usr/local/filebeat -path.config /usr/local/filebeat -path.data /usr/local/filebeat/data -path.logs /var/log/filebeat" test_args="-e -configtest" test() { $agent $args $test_args } start() { pid=`ps -ef |grep /usr/local/filebeat/data |grep -v grep |awk '{print $2}'` if [ ! "$pid" ];then echo "Starting filebeat: " test if [ $? -ne 0 ]; then echo exit 1 fi $agent $args & if [ $? == '0' ];then echo "start filebeat ok" else echo "start filebeat failed" fi else echo "filebeat is still running!" exit fi } stop() { echo -n $"Stopping filebeat: " pid=`ps -ef |grep /usr/local/filebeat/data |grep -v grep |awk '{print $2}'` if [ ! "$pid" ];then echo "filebeat is not running" else kill $pid echo "stop filebeat ok" fi } restart() { stop start } status(){ pid=`ps -ef |grep /usr/local/filebeat/data |grep -v grep |awk '{print $2}'` if [ ! "$pid" ];then echo "filebeat is not running" else echo "filebeat is running" fi } case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) status ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 1 esac