64 lines
981 B
Bash
Executable File
64 lines
981 B
Bash
Executable File
#/bin/bash
|
|
|
|
function join_by() {
|
|
local IFS="$1"; shift; echo "$*";
|
|
}
|
|
|
|
|
|
cx4nodes=( \
|
|
isc17-c02 \
|
|
isc17-c03 \
|
|
isc17-c04 \
|
|
isc17-c05 \
|
|
isc17-c06 \
|
|
isc17-c07 \
|
|
isc17-c08 \
|
|
isc17-c09 \
|
|
isc17-c10 \
|
|
isc17-c11 \
|
|
isc17-c12 \
|
|
isc17-c13 \
|
|
isc17-c14 \
|
|
isc17-c15 \
|
|
isc17-c18 \
|
|
isc17-c19 \
|
|
isc17-c20 \
|
|
isc17-c22 \
|
|
isc17-c23 \
|
|
isc17-c01 \
|
|
)
|
|
|
|
#cx4nodes=( isc17-c0{1..9} isc17-c{10..22} )
|
|
node_list=$( join_by , "${cx4nodes[@]}" )
|
|
|
|
|
|
IFS='' read -r -d '' script <<"EOF"
|
|
if [ -d /esfs/jtacquaviva ]; then
|
|
echo 'ok'
|
|
else
|
|
echo "failed: $(hostname) /esfs/ is not mounted"
|
|
fi
|
|
EOF
|
|
|
|
declare -a good_nodes
|
|
for node in ${cx4nodes[@]}; do
|
|
#echo "ping $node"
|
|
status=$(ping -c1 $node | grep Unreachable)
|
|
if [[ "" == $status ]]; then
|
|
check=$(ssh $node "$script")
|
|
if [[ "ok" == ${check} ]]; then
|
|
good_nodes=( ${good_nodes[@]} $node )
|
|
else
|
|
echo "$node failed with: $check"
|
|
fi
|
|
else
|
|
echo "$node is unreachable"
|
|
fi
|
|
done
|
|
|
|
echo "${good_nodes[@]}"
|
|
echo $( join_by , "${good_nodes[@]}" )
|
|
|
|
|
|
|