Merge pull request #32 from Heavybullets8/restore_validation
Restore validation
This commit is contained in:
commit
3fe18c0eff
@ -31,16 +31,16 @@ export -f backup
|
||||
|
||||
|
||||
deleteBackup(){
|
||||
while true
|
||||
do
|
||||
clear -x && echo "pulling all restore points.."
|
||||
list_backups=$(cli -c 'app kubernetes list_backups' | sort -t '_' -Vr -k2,7 | tr -d " \t\r" | awk -F '|' '{print $2}' | nl -s ") " | column -t)
|
||||
if [[ -z "$list_backups" ]]; then
|
||||
clear -x && echo "pulling all restore points.."
|
||||
list_backups=$(cli -c 'app kubernetes list_backups' | sort -t '_' -Vr -k2,7 | tr -d " \t\r" | awk -F '|' '{print $2}' | nl -s ") " | column -t)
|
||||
if [[ -z "$list_backups" ]]; then
|
||||
echo "No restore points available"
|
||||
exit
|
||||
fi
|
||||
while true
|
||||
do
|
||||
fi
|
||||
|
||||
#Select a restore point
|
||||
while true
|
||||
do
|
||||
clear -x
|
||||
title
|
||||
echo -e "Choose a Restore Point to Delete\nThese may be out of order if they are not HeavyScript backups"
|
||||
@ -62,9 +62,11 @@ do
|
||||
continue
|
||||
fi
|
||||
break # Break out of the loop if all of the If statement checks above are untrue
|
||||
done
|
||||
while true
|
||||
do
|
||||
done
|
||||
|
||||
#Confirm deletion
|
||||
while true
|
||||
do
|
||||
clear -x
|
||||
echo -e "WARNING:\nYou CANNOT go back after deleting your restore point"
|
||||
echo -e "\n\nYou have chosen:\n$restore_point\n\n"
|
||||
@ -86,9 +88,11 @@ do
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
done
|
||||
while true
|
||||
do
|
||||
done
|
||||
|
||||
#Check if there are more backups to delete
|
||||
while true
|
||||
do
|
||||
read -rt 120 -p "Delete more backups? (y/N): " yesno || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||
case $yesno in
|
||||
[Yy] | [Yy][Ee][Ss])
|
||||
@ -105,23 +109,22 @@ do
|
||||
|
||||
esac
|
||||
|
||||
done
|
||||
done
|
||||
}
|
||||
export -f deleteBackup
|
||||
|
||||
|
||||
restore(){
|
||||
while true
|
||||
do
|
||||
clear -x && echo "pulling restore points.."
|
||||
list_backups=$(cli -c 'app kubernetes list_backups' | grep -E "HeavyScript_|TrueTool_" | sort -t '_' -Vr -k2,7 | tr -d " \t\r" | awk -F '|' '{print $2}' | nl -s ") " | column -t)
|
||||
if [[ -z "$list_backups" ]]; then
|
||||
clear -x && echo "pulling restore points.."
|
||||
list_backups=$(cli -c 'app kubernetes list_backups' | grep -E "HeavyScript_|TrueTool_" | sort -t '_' -Vr -k2,7 | tr -d " \t\r" | awk -F '|' '{print $2}' | nl -s ") " | column -t)
|
||||
if [[ -z "$list_backups" ]]; then
|
||||
echo "No HeavyScript restore points available"
|
||||
exit
|
||||
fi
|
||||
while true
|
||||
do
|
||||
fi
|
||||
|
||||
#Select a restore point
|
||||
while true
|
||||
do
|
||||
clear -x
|
||||
title
|
||||
echo "Choose a Restore Point"
|
||||
@ -143,9 +146,49 @@ do
|
||||
continue
|
||||
fi
|
||||
break
|
||||
done
|
||||
while true
|
||||
do
|
||||
done
|
||||
|
||||
|
||||
# Get the date of system version and when it was updated
|
||||
current_version=$(cli -m csv -c 'system version' | awk -F '-' '{print $3}')
|
||||
when_updated=$(cli -m csv -c 'system bootenv query created,realname' | grep "$current_version",\
|
||||
| awk -F ',' '{print $2}' | sed 's/[T|-]/_/g' | sed 's/:/_/g' | awk -F '_' '{print $1 $2 $3 $4 $5}')
|
||||
|
||||
|
||||
# Get the date of the chosen restore point
|
||||
restore_point_date=$(echo "$restore_point" | awk -F '_' '{print $2 $3 $4 $5 $6}' | tr -d "_")
|
||||
|
||||
|
||||
# Compare the dates
|
||||
while (("$restore_point_date" < "$when_updated" ))
|
||||
do
|
||||
clear -x
|
||||
echo "The restore point you have chosen is from an older version of Truenas Scale"
|
||||
echo "This is not recommended, as it may cause issues with the system"
|
||||
if read -rt 120 -p "Would you like to proceed? (y/N): " yesno || { echo -e "\nFailed to make a selection in time" ; exit; }; then
|
||||
case $yesno in
|
||||
[Yy] | [Yy][Ee][Ss])
|
||||
echo "Proceeding.."
|
||||
sleep 3
|
||||
break
|
||||
;;
|
||||
[Nn] | [Nn][Oo])
|
||||
echo "Exiting"
|
||||
exit
|
||||
;;
|
||||
*)
|
||||
echo "That was not an option, try again"
|
||||
sleep 3
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
#Confirm restore
|
||||
while true
|
||||
do
|
||||
clear -x
|
||||
echo -e "WARNING:\nThis is NOT guranteed to work\nThis is ONLY supposed to be used as a LAST RESORT\nConsider rolling back your applications instead if possible"
|
||||
echo -e "\n\nYou have chosen:\n$restore_point\n\n"
|
||||
@ -192,7 +235,7 @@ do
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
done
|
||||
done
|
||||
|
||||
}
|
||||
export -f restore
|
Loading…
Reference in New Issue
Block a user