1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#!/usr/bin/env bash
set -ex
: "${XROOTD:=$(command -v xrootd)}"
servernames=("srv1" "srv2")
DATAFOLDER="./data"
setup() {
echo "Setting up XRootD with ${servernames[*]}"
mkdir -p "${DATAFOLDER}"
for srv in "${servernames[@]}"; do
mkdir -p "${DATAFOLDER}/${srv}"
done
# Start XRootD servers
for srv in "${servernames[@]}"; do
echo "Starting XRootD on ${srv}..."
${XROOTD} -b -k fifo -n "${srv}" -l "${srv}"/xrootd.log -s "${srv}"/xrootd.pid -c "${srv}".cfg
done
sleep 2
echo "XRootD setup complete."
}
teardown() {
echo "Tearing down XRootD .."
for srv in "${servernames[@]}"; do
if [[ -f "${srv}/xrootd.pid" ]]; then
kill -TERM "$(cat "${srv}"/xrootd.pid)" || true
fi
done
echo "teardown complete."
}
# Ensure script is executed with "start" or "teardown"
case "$1" in
start)
setup
;;
teardown)
teardown
;;
*)
echo "Usage: $0 {start|teardown}"
exit 1
;;
esac
|