root_size=$(( 1024 * 1024 * 2000 )) #2tb
percent_used=10
zone=$(date +%z)
- elif tmpstr=$(timeout -s 9 6 ssh root@$h "mkdir -p /mnt/root/btrbk /mnt/o/btrbk && date +%z && df --output=size,pcent / | tail -n1"); then
- IFS=" " read -r -a remote_info <<<"$tmpstr"
-
- zone=${remote_info[0]}
- root_size=${remote_info[1]}
- percent_used=${remote_info[2]%%%}
-
- if (( ${#remote_info[@]} != 3 )); then
- die "error: didnt get 3 fields in test ssh to target $h. investigate"
+ elif remote_str=$(timeout -s 9 6 ssh root@$h "mkdir -p /mnt/root/btrbk /mnt/o/btrbk && date +%z && df --output=size,pcent / | tail -n1"); then
+ mapfile -t tmp_array <<<"$remote_str"
+ zone="${tmp_array[0]}"
+ IFS=" " read -r root_size percent_used <<<"${tmp_array[1]}"
+ percent_used=${percent_used%%%}
+
+ if (( ${#tmp_array[@]} != 2 )); then
+ die "error: didnt get 2 lines in test ssh to target $h. investigate"
fi
+ case $percent_used in
+ [0-9]|[1-9][0-9]) : ;;
+ *)
+ die "error: didnt get percent disk use in test ssh to target $h. investigate"
+ ;;
+ esac
else
sshfail+=($h)
continue