mirror of https://gitee.com/bigwinds/arangodb
55 lines
1.6 KiB
Bash
Executable File
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."
|