#!/bin/sh
# setup rsyslog client for TCP logging to the specified server

. shell-error

CONFIG=/etc/rsyslog.d/90_client.conf

[ -n "$1" ] || fatal "need rsyslog server's IP address"

REGEX='^\*\.\*[[:space:]]+@@[0-9.]+'
ADDON="*.* @@$1"

# create the file if rsyslog itself is installed
if [ -f "$CONFIG" ] && grep -Eq "$REGEX" "$CONFIG"; then
	sed -ri "s,$REGEX,$ADDON," "$CONFIG"
else
	if [ -d "$(dirname "$CONFIG")" ]; then
		echo "$ADDON" >> "$CONFIG"
	else
		fatal "$CONFIG not found along with its directory"
	fi
fi
