summaryrefslogtreecommitdiff
path: root/bin/remote-birdc
blob: 57d6d392f916f139ef1006008ebb2a4cef6096ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#/bin/bash

if [ -z "$1" ]; then
	echo "usage: $(basename $0) <hostname>"
	exit 1
fi

TD=$(mktemp -d)

trap "rm -rf $TD" EXIT ERR
# Terminal will be in a funky state if we uncleanly exit from birdc
trap "reset; rm -rf $TD" INT TERM

ssh -nNT -oStreamLocalBindUnlink=yes -L $TD/bird.sock:/var/run/bird.ctl $1 > /dev/null 2>&1 &
SSH_PID=$!

sleep 5

birdc -s $TD/bird.sock

echo "*** Done... cleaning up"

kill -s TERM $SSH_PID >/dev/null 2>&1
wait $SSH_PID