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.
64 lines
1.6 KiB
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
|
|
}
|