1
0
Fork 0
arangodb/scripts/unpackInspectorReport.sh

55 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
filename=arango-inspector.json
outdir=arango-inspector
if [[ $# > 1 ]]; then
echo "**Error** - usage: unpackInspectorReport [filename]"
exit 1
elif [[ $# == 1 ]]; then
filename=$1
fi
if [ -f $filename ]; then
# check json validity
if jq -e . >/dev/null 2>&1 <<<"$json_string"; then
mkdir arango-inspector
if [[ $? -ne 0 ]]; then #target directory exists
echo "**Error** - failed to create directory structure"
exit 1
fi
#dump agency
echo -n " writing agency dump ... "
cat $filename | jq .agency | tee $outdir/agency.json > /dev/null
echo done
#dump
echo -n " writing agency analysis ... "
cat $filename | jq .analysis | tee $outdir/agency-analysis.json > /dev/null
echo done
#servers
echo " writing servers ..."
for i in $(cat $filename | jq .servers | jq 'keys[]'); do
name=$(echo $i|sed s/\"//g)
mkdir $outdir/$name
echo -n " writing $i ... "
for j in $(cat $filename | jq .servers[$i] | jq 'keys[]'); do
what=$(echo $j|sed s/\"//g)
cat $filename | jq -r .servers[$i][$j] | tee $outdir/$name/$what > /dev/null
done
echo done
done
echo " ... done "
else #invalid json
echo "**Error** - failed to parse JSON, or got false/null"
fi
else
echo "**Error** - file $filename does not exit"
fi
echo "The report was unpacked successfully."