2023-12-18 12:57:15 +01:00
|
|
|
#!/usr/bin/bash
|
|
|
|
#
|
|
|
|
# collect messages from reporter and drop them into log files
|
|
|
|
#
|
|
|
|
set -eu
|
|
|
|
|
|
|
|
port=1234
|
|
|
|
#logdir="/var/log/collector"
|
|
|
|
logdir="/tmp/collector"
|
|
|
|
|
|
|
|
mkdir -vp "$logdir"
|
|
|
|
|
|
|
|
nc -k -l -u -p "$port" | while read line ; do
|
2024-01-16 11:54:45 +01:00
|
|
|
sndr="${line%% *}"
|
|
|
|
msg="${line#* }"
|
2023-12-18 12:57:15 +01:00
|
|
|
if [[ "$sndr" =~ [a-z0-9]+ ]] ; then
|
|
|
|
if [[ "$msg" =~ ^-------\ .+\ -------$ ]] ; then
|
2024-01-16 11:54:45 +01:00
|
|
|
echo "$(date --rfc-3339=seconds) → Report from '$sndr' received."
|
2023-12-18 12:57:15 +01:00
|
|
|
echo "$msg" > "$logdir/$sndr"
|
|
|
|
else
|
|
|
|
echo "$msg" >> "$logdir/$sndr"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|