37 lines
880 B
Bash
Executable File
37 lines
880 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# This systemd generator creates dependency symlinks that make all logtracker
|
|
# agents listed in /etc/logtracker/agents be started/stopped/reloaded
|
|
# when logtracker-agent.service is started/stopped/reloaded.
|
|
|
|
set -eu
|
|
|
|
GENDIR="$1"
|
|
WANTDIR="$1/logtracker-agent.service.wants"
|
|
SERVICEFILE="/lib/systemd/system/logtracker-agent@.service"
|
|
AUTOSTART="all"
|
|
CONFIG_DIR=/etc/logtracker/agents
|
|
|
|
mkdir -p "$WANTDIR"
|
|
|
|
# No agent automatically started
|
|
if test "x$AUTOSTART" = "xnone" ; then
|
|
exit 0
|
|
fi
|
|
|
|
if test "x$AUTOSTART" = "xall" -o -z "$AUTOSTART" ; then
|
|
for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do
|
|
NAME=${CONFIG%%.conf}
|
|
ln -s "$SERVICEFILE" "$WANTDIR/logtracker-agent@$NAME.service"
|
|
done
|
|
else
|
|
for NAME in $AUTOSTART ; do
|
|
if test -e $CONFIG_DIR/$NAME.conf ; then
|
|
ln -s "$SERVICEFILE" "$WANTDIR/logtracker-agent@$NAME.service"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
exit 0
|
|
|