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.5 KiB

#!/sbin/runscript
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
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}
}