diff options
author | Robin Krahl <guskraro@student.gu.se> | 2017-10-10 14:31:16 +0200 |
---|---|---|
committer | Robin Krahl <guskraro@student.gu.se> | 2017-10-10 14:31:16 +0200 |
commit | cec1ed42f3de738c502bf2ecf51567cf4f7c458e (patch) | |
tree | 1d71aff628a8cc44c2fea69ebe06d4e4d6b82b66 /broccoli | |
parent | d3f3c2544b31d2ee194b1287bd07057b32871d7a (diff) | |
download | midbro-cec1ed42f3de738c502bf2ecf51567cf4f7c458e.tar.gz midbro-cec1ed42f3de738c502bf2ecf51567cf4f7c458e.tar.bz2 |
Add script to execute midbropasad & brobroccoli-events
Diffstat (limited to 'broccoli')
-rw-r--r-- | broccoli/script/run-midbro.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/broccoli/script/run-midbro.sh b/broccoli/script/run-midbro.sh new file mode 100644 index 0000000..a9bb008 --- /dev/null +++ b/broccoli/script/run-midbro.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +if [ $# -ne 2 ] +then + echo "Starts Bro with the given arguments in the background and, when" + echo "it’s ready, starts Midbro." + echo + echo "Usage: $0 INTERFACE SCRIPT" + echo "Example: $0 lo modbus.bro" + exit +fi + +INTERFACE=$1 +SCRIPT=$(realpath $2) + +BRODIR=$(realpath "$(dirname "$0")/../..") +BROLOG=$(realpath bro.log) + +MIDBRO=${BRODIR}/broccoli/bin/midbropasad +MIDBROLOG=$(realpath midbro.log) + +TMPDIR=$(mktemp --directory --tmpdir pasad.XXXX) + +echo "* Starting Bro in background ..." +cd "${TMPDIR}" && sudo bro -i "${INTERFACE}" "${SCRIPT}" > ${BROLOG} 2>&1 & +BROPID=$! + +echo "* Waiting for Bro to listen ..." +sleep 1 +tail -f ${BROLOG} | while read LOGLINE +do + [[ "${LOGLINE}" == "listening on "* ]] && pkill -P $$ tail +done + +echo "* Starting Midbro ..." +${MIDBRO} + +kill $BROPID + +rm -r "${TMPDIR}" |