31 lines
589 B
Bash
31 lines
589 B
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
mkdir -p /run/bird
|
|
|
|
SOCK_PATH="/run/bird/bird.ctl"
|
|
PROTO="${OBSERVE_PROTO:-rpki_tcp}"
|
|
INTERVAL="${OBSERVE_INTERVAL:-5}"
|
|
|
|
bird -f -c /etc/bird/bird.conf -s "$SOCK_PATH" &
|
|
BIRD_PID="$!"
|
|
|
|
sleep 1
|
|
|
|
case "$INTERVAL" in
|
|
''|*[!0-9]*)
|
|
INTERVAL=0
|
|
;;
|
|
esac
|
|
|
|
if [ "$INTERVAL" -gt 0 ]; then
|
|
while kill -0 "$BIRD_PID" 2>/dev/null; do
|
|
echo "==== $(date -u +"%Y-%m-%dT%H:%M:%SZ") RPKI snapshot ($PROTO) ===="
|
|
birdc -s "$SOCK_PATH" show protocols all "$PROTO" || true
|
|
birdc -s "$SOCK_PATH" show roa count || true
|
|
sleep "$INTERVAL"
|
|
done
|
|
fi
|
|
|
|
wait "$BIRD_PID"
|