97 lines
1.7 KiB
Bash
97 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
#echo "Service name:"
|
|
#read SERVICE
|
|
#echo "Rabbit host:"
|
|
#read RHOST
|
|
#echo "Rabbit pass:"
|
|
#read RPASS
|
|
|
|
HELP=$(cat <<'EOF'
|
|
Missing required args:
|
|
|
|
-s - SERVICE name
|
|
-h - RabbitMQ HOST
|
|
-p - RabbitMQ PASS
|
|
EOF
|
|
)
|
|
|
|
VECTOR=$(which vector)
|
|
|
|
if [ -z $VECTOR ]; then
|
|
echo "You need https://vector.dev to be installed"
|
|
exit 1
|
|
fi
|
|
|
|
echo "VECTOR=$VECTOR"
|
|
|
|
while getopts ":s:h:p:" opt; do
|
|
case $opt in
|
|
s) SERVICE="$OPTARG"
|
|
;;
|
|
h) RHOST="$OPTARG"
|
|
;;
|
|
p) RPASS="$OPTARG"
|
|
;;
|
|
\?) echo "Invalid option -$OPTARG" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
case $OPTARG in
|
|
-*) echo "Option $opt needs a valid argument"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ -z $SERVICE ]; then
|
|
echo "$HELP"
|
|
exit -1
|
|
fi
|
|
if [ -z $RHOST ]; then
|
|
echo "$HELP"
|
|
exit -1
|
|
fi
|
|
if [ -z $RPASS ]; then
|
|
echo "$HELP"
|
|
exit -1
|
|
fi
|
|
|
|
printf "SERVICE = %s\n" "$SERVICE"
|
|
printf "HOST = %s\n" "$RHOST"
|
|
printf "PASS = %s\n" "$RPASS"
|
|
|
|
FNAME="$SERVICE-logs-preparer.service"
|
|
#SERVICEFILE="/etc/systemd/system/$FNAME"
|
|
SERVICEFILE="$HOME/.config/systemd/user/$FNAME"
|
|
|
|
echo "FNAME = $FNAME"
|
|
echo "SERVICEFILE = $SERVICEFILE"
|
|
|
|
if [ -f $SERVICEFILE ]; then
|
|
echo "Disabling current service..."
|
|
systemctl --user stop $FNAME
|
|
systemctl --user disable $FNAME
|
|
systemctl --user daemon-reload
|
|
sudo rm $SERVICEFILE
|
|
fi
|
|
|
|
echo "Creating service file..."
|
|
|
|
cat logs-preparer.service | sed 's?<DIR>?'`pwd`'?' | sed 's/<RHOST>/'$RHOST'/' | sed 's/<RPASS>/'$RPASS'/' | sed 's/<SERVICE>/'$SERVICE'/' | sed 's?<VECTOR>?'$VECTOR'?' | sudo tee -a "$SERVICEFILE" > /dev/null
|
|
|
|
echo "Reloading daemons..."
|
|
|
|
systemctl --user daemon-reload
|
|
|
|
echo "Enabling daemon for user..."
|
|
|
|
systemctl --user enable $FNAME
|
|
|
|
echo "Starting daemon for user..."
|
|
|
|
systemctl --user start $FNAME
|
|
|
|
|