You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-admin/logstash-forwarder/files/logstash-forwarder.initd

64 lines
1.6 KiB

#!/sbin/runscript
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/logstash-forwarder/files/logstash-forwarder.initd,v 1.2 2015/03/20 19:43:26 aidecoe Exp $
create_tmpdir() {
local tmpdir="$(mktemp -d -p /tmp logstash-forwarder.XXXXXXXXXX)"
chown logstash:logstash "$tmpdir" || return 1
chmod 0750 "$tmpdir" || return 1
echo "$tmpdir"
}
remove_tmpdir() {
local d=''
local tmpdir=''
for d in /tmp/logstash-forwarder.??????????; do
[[ -e $d ]] || return 0
[[ -d $d ]] || continue
if ! [[ $tmpdir ]]; then
tmpdir="$d"
else
# There are more directories like that, so better keep them all.
return 1
fi
done
rm -r "$tmpdir"
}
start() {
local config_file=/etc/logstash-forwarder/logstash-forwarder.conf
local tmpdir="$(create_tmpdir)"
if ! [[ -d $tmpdir ]]; then
eend 1 "Failed to create tmp directory for logstash-forwarder"
return 1
fi
ebegin "Starting logstash-forwarder"
start-stop-daemon --start --exec /usr/bin/logstash-forwarder \
--make-pidfile --pidfile /run/logstash-forwarder.pid \
--background --wait 100 --chdir "$tmpdir" \
--user logstash --group logstash \
-- -config="${config_file}" ${LOGSTASH_FORWARDER_ARGS}
eend $?
}
stop() {
ebegin "Stopping logstash-forwarder"
start-stop-daemon --stop --exec /usr/bin/logstash-forwarder \
--pidfile /run/logstash-forwarder.pid --user logstash --group logstash
local rc=$?
if ! remove_tmpdir; then
ewarn "Failed to remove logstash-forwarder tmp directory"
fi
eend $rc
}