test new call
This commit is contained in:
parent
835528a8c1
commit
bd2e381bb8
66
functions/cmd_to_container.sh
Normal file
66
functions/cmd_to_container.sh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
cmd_to_container(){
|
||||||
|
app_name=$(k3s kubectl get pods -A | awk '{print $1}' | sort -u | grep -v "system" | sed '1d' | sed 's/^[^-]*-//' | nl -s ") " | column -t)
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
clear -x
|
||||||
|
title
|
||||||
|
echo "$app_name"
|
||||||
|
echo
|
||||||
|
echo "0) Exit"
|
||||||
|
read -rt 120 -p "Please type a number: " selection || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
if [[ $selection == 0 ]]; then
|
||||||
|
echo "Exiting.."
|
||||||
|
exit
|
||||||
|
elif ! echo -e "$app_name" | grep -qs ^"$selection)" ; then
|
||||||
|
echo "Error: \"$selection\" was not an option.. Try again"
|
||||||
|
sleep 3
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
app_name=$(echo -e "$app_name" | grep ^"$selection)" | awk '{print $2}')
|
||||||
|
search=$(k3s crictl ps -a -s running)
|
||||||
|
mapfile -t pod_id < <(echo "$search" | grep -E " $app_name([[:space:]]|-([-[:alnum:]])*[[:space:]])" | awk '{print $9}')
|
||||||
|
[[ "${#pod_id[@]}" == 0 ]] && echo -e "No containers available\nAre you sure the application in running?" && exit
|
||||||
|
containers=$(
|
||||||
|
for pod in "${pod_id[@]}"
|
||||||
|
do
|
||||||
|
echo "$search" | grep "$pod" | awk '{print $7}'
|
||||||
|
done | nl -s ") " | column -t)
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
clear -x
|
||||||
|
title
|
||||||
|
echo "$containers"
|
||||||
|
echo
|
||||||
|
echo "0) Exit"
|
||||||
|
read -rt 120 -p "Choose a container by number: " selection || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
if [[ $selection == 0 ]]; then
|
||||||
|
echo "Exiting.."
|
||||||
|
exit
|
||||||
|
elif ! echo -e "$containers" | grep -qs ^"$selection)" ; then
|
||||||
|
echo "Error: \"$selection\" was not an option.. Try again"
|
||||||
|
sleep 3
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
container=$(echo "$containers" | grep ^"$selection)" | awk '{print $2}')
|
||||||
|
container_id=$(echo "$search" | grep -E "[[:space:]]${container}[[:space:]]" | awk '{print $1}')
|
||||||
|
clear -x
|
||||||
|
title
|
||||||
|
echo "App Name: $app_name"
|
||||||
|
echo "Container: $container"
|
||||||
|
echo
|
||||||
|
echo "0) Exit"
|
||||||
|
read -rt 120 -p "What command would you like to run?: " command || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
[[ $command == 0 ]] && echo "Exiting.." && exit
|
||||||
|
k3s crictl exec "$container_id" $command
|
||||||
|
container=$(echo -e "$app_name" | grep ^"$selection)" | awk '{print $2}')
|
||||||
|
}
|
||||||
|
export -f cmd_to_container
|
@ -21,260 +21,38 @@ case $selection in
|
|||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
help="true"
|
help
|
||||||
|
exit
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
dns="true"
|
dns
|
||||||
|
exit
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
mount="true"
|
mount
|
||||||
|
exit
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
read -rt 120 -p "What is the maximun number of backups you would like?: " number_of_backups || echo "Failed to make a selection"
|
read -rt 120 -p "What is the maximun number of backups you would like?: " number_of_backups || echo "Failed to make a selection"
|
||||||
backup="true"
|
backup="true"
|
||||||
;;
|
;;
|
||||||
5)
|
5)
|
||||||
restore="true"
|
restore
|
||||||
|
exit
|
||||||
;;
|
;;
|
||||||
6)
|
6)
|
||||||
deleteBackup="true"
|
deleteBackup
|
||||||
|
exit
|
||||||
;;
|
;;
|
||||||
7)
|
7)
|
||||||
self_update="true"
|
self_update
|
||||||
;;
|
;;
|
||||||
8)
|
8)
|
||||||
while true
|
script_create
|
||||||
do
|
|
||||||
clear -x
|
|
||||||
title
|
|
||||||
echo "Choose Your Update Type"
|
|
||||||
echo "-----------------------"
|
|
||||||
echo "1) -U | Update all applications, ignores versions"
|
|
||||||
echo "2) -u | Update all applications, does not update Major releases"
|
|
||||||
echo
|
|
||||||
echo "0) Exit"
|
|
||||||
echo
|
|
||||||
read -rt 120 -p "Type the Number or Flag: " current_selection || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
case $current_selection in
|
|
||||||
0 | [Ee][Xx][Ii][Tt])
|
|
||||||
echo "Exiting.."
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
1 | -U)
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
echo -e "\nHow many applications do you want updating at the same time?"
|
|
||||||
read -rt 120 -p "Please type an integer greater than 0: " up_async || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
if [[ $up_async == 0 ]]; then
|
|
||||||
echo "Error: \"$up_async\" is less than 1"
|
|
||||||
echo "NOT adding it to the list"
|
|
||||||
sleep 3
|
|
||||||
continue
|
|
||||||
elif ! [[ $up_async =~ ^[0-9]+$ ]]; then
|
|
||||||
echo "Error: \"$up_async\" is invalid, it needs to be an integer"
|
|
||||||
echo "NOT adding it to the list"
|
|
||||||
sleep 3
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
update_selection+=("-U" "$up_async")
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
2 | -u)
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
echo -e "\nHow many applications do you want updating at the same time?"
|
|
||||||
read -rt 120 -p "Please type an integer greater than 0: " up_async || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
if [[ $up_async == 0 ]]; then
|
|
||||||
echo "Error: \"$up_async\" is less than 1"
|
|
||||||
echo "NOT adding it to the list"
|
|
||||||
sleep 3
|
|
||||||
continue
|
|
||||||
elif ! [[ $up_async =~ ^[0-9]+$ ]]; then
|
|
||||||
echo "Error: \"$up_async\" is invalid, it needs to be an integer"
|
|
||||||
echo "NOT adding it to the list"
|
|
||||||
sleep 3
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
update_selection+=("-u" "$up_async")
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "$current_selection was not an option, try again" && sleep 3
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
clear -x
|
|
||||||
title
|
|
||||||
echo "Update Options"
|
|
||||||
echo "--------------"
|
|
||||||
echo "1) -r | Roll-back applications if they fail to update"
|
|
||||||
echo "2) -i | Add application to ignore list"
|
|
||||||
echo "3) -S | Shutdown applications prior to updating"
|
|
||||||
echo "4) -v | verbose output"
|
|
||||||
echo "5) -t | Set a custom timeout in seconds when checking if either an App or Mountpoint correctly Started, Stopped or (un)Mounted. Defaults to 500 seconds"
|
|
||||||
echo
|
|
||||||
echo "Additional Options"
|
|
||||||
echo "------------------"
|
|
||||||
echo "6) -b | Back-up your ix-applications dataset, specify a number after -b"
|
|
||||||
echo "7) -s | sync catalog"
|
|
||||||
echo "8) -p | Prune unused/old docker images"
|
|
||||||
echo "9) --self-update | Updates HeavyScript prior to running any other commands"
|
|
||||||
echo
|
|
||||||
echo "99) Remove Update Options, Restart"
|
|
||||||
echo "00) Done making selections, proceed with update"
|
|
||||||
echo
|
|
||||||
echo "0) Exit"
|
|
||||||
echo
|
|
||||||
echo "Current Choices"
|
|
||||||
echo "---------------"
|
|
||||||
echo "bash heavy_script.sh ${update_selection[*]}"
|
|
||||||
echo
|
|
||||||
read -rt 600 -p "Type the Number or Flag: " current_selection || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
case $current_selection in
|
|
||||||
0 | [Ee][Xx][Ii][Tt])
|
|
||||||
echo "Exiting.."
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
00)
|
|
||||||
clear -x
|
|
||||||
echo "Running \"bash heavy_script.sh ${update_selection[*]}\""
|
|
||||||
echo
|
|
||||||
exec bash "$script_name" "${update_selection[@]}"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
1 | -r)
|
|
||||||
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-r" && echo -e "\"-r\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
|
||||||
update_selection+=("-r")
|
|
||||||
;;
|
|
||||||
2 | -i)
|
|
||||||
read -rt 120 -p "What is the name of the application we should ignore?: " up_ignore || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
! [[ $up_ignore =~ ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ ]] && echo -e "Error: \"$up_ignore\" is not a possible option for an application name" && sleep 3 && continue
|
|
||||||
update_selection+=("-i" "$up_ignore")
|
|
||||||
;;
|
|
||||||
3 | -S)
|
|
||||||
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-S" && echo -e "\"-S\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
|
||||||
update_selection+=("-S")
|
|
||||||
;;
|
|
||||||
4 | -v)
|
|
||||||
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-v" && echo -e "\"-v\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
|
||||||
update_selection+=("-v")
|
|
||||||
;;
|
|
||||||
5 | -t)
|
|
||||||
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-t" && echo -e "\"-t\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
|
||||||
echo "What do you want your timeout to be?"
|
|
||||||
read -rt 120 -p "Please type an integer: " up_timeout || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
! [[ $up_timeout =~ ^[0-9]+$ ]] && echo -e "Error: \"$up_timeout\" is invalid, it needs to be an integer\nNOT adding it to the list" && sleep 3 && continue
|
|
||||||
update_selection+=("-t" "$up_timeout")
|
|
||||||
;;
|
|
||||||
6 | -b)
|
|
||||||
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-b" && echo -e "\"-b\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
|
||||||
echo "Up to how many backups should we keep?"
|
|
||||||
read -rt 120 -p "Please type an integer: " up_backups || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
! [[ $up_backups =~ ^[0-9]+$ ]] && echo -e "Error: \"$up_backups\" is invalid, it needs to be an integer\nNOT adding it to the list" && sleep 3 && continue
|
|
||||||
[[ $up_backups == 0 ]] && echo -e "Error: Number of backups cannot be 0\nNOT adding it to the list" && sleep 3 && continue
|
|
||||||
update_selection+=("-b" "$up_backups")
|
|
||||||
;;
|
|
||||||
7 | -s)
|
|
||||||
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-s" && echo -e "\"-s\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
|
||||||
update_selection+=("-s")
|
|
||||||
;;
|
|
||||||
8 | -p)
|
|
||||||
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-p" && echo -e "\"-p\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
|
||||||
update_selection+=("-p")
|
|
||||||
;;
|
|
||||||
9 | --self-update )
|
|
||||||
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "--self-update" && echo -e "\"--self-update\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
|
||||||
update_selection+=("--self-update")
|
|
||||||
;;
|
|
||||||
99)
|
|
||||||
count=2
|
|
||||||
echo "restarting"
|
|
||||||
for i in "${update_selection[@]:2}"
|
|
||||||
do
|
|
||||||
unset "update_selection[$count]"
|
|
||||||
echo "$i removed"
|
|
||||||
((count++))
|
|
||||||
done
|
|
||||||
sleep 3
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "\"$current_selection\" was not an option, try again" && sleep 3 && continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
9)
|
9)
|
||||||
app_name=$(k3s kubectl get pods -A | awk '{print $1}' | sort -u | grep -v "system" | sed '1d' | sed 's/^[^-]*-//' | nl -s ") " | column -t)
|
cmd_to_container
|
||||||
while true
|
|
||||||
do
|
|
||||||
clear -x
|
|
||||||
title
|
|
||||||
echo "$app_name"
|
|
||||||
echo
|
|
||||||
echo "0) Exit"
|
|
||||||
read -rt 120 -p "Please type a number: " selection || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
if [[ $selection == 0 ]]; then
|
|
||||||
echo "Exiting.."
|
|
||||||
exit
|
|
||||||
elif ! echo -e "$app_name" | grep -qs ^"$selection)" ; then
|
|
||||||
echo "Error: \"$selection\" was not an option.. Try again"
|
|
||||||
sleep 3
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
app_name=$(echo -e "$app_name" | grep ^"$selection)" | awk '{print $2}')
|
|
||||||
search=$(k3s crictl ps -a -s running)
|
|
||||||
mapfile -t pod_id < <(echo "$search" | grep -E " $app_name([[:space:]]|-([-[:alnum:]])*[[:space:]])" | awk '{print $9}')
|
|
||||||
[[ "${#pod_id[@]}" == 0 ]] && echo -e "No containers available\nAre you sure the application in running?" && exit
|
|
||||||
containers=$(
|
|
||||||
for pod in "${pod_id[@]}"
|
|
||||||
do
|
|
||||||
echo "$search" | grep "$pod" | awk '{print $7}'
|
|
||||||
done | nl -s ") " | column -t)
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
clear -x
|
|
||||||
title
|
|
||||||
echo "$containers"
|
|
||||||
echo
|
|
||||||
echo "0) Exit"
|
|
||||||
read -rt 120 -p "Choose a container by number: " selection || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
if [[ $selection == 0 ]]; then
|
|
||||||
echo "Exiting.."
|
|
||||||
exit
|
|
||||||
elif ! echo -e "$containers" | grep -qs ^"$selection)" ; then
|
|
||||||
echo "Error: \"$selection\" was not an option.. Try again"
|
|
||||||
sleep 3
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
container=$(echo "$containers" | grep ^"$selection)" | awk '{print $2}')
|
|
||||||
container_id=$(echo "$search" | grep -E "[[:space:]]${container}[[:space:]]" | awk '{print $1}')
|
|
||||||
clear -x
|
|
||||||
title
|
|
||||||
echo "App Name: $app_name"
|
|
||||||
echo "Container $container"
|
|
||||||
echo
|
|
||||||
echo "0) Exit"
|
|
||||||
read -rt 120 -p "What command would you like to run?: " command || { echo -e "\nFailed to make a selection in time" ; exit; }
|
|
||||||
[[ $command == 0 ]] && echo "Exiting.." && exit
|
|
||||||
k3s crictl exec "$container_id" $command
|
|
||||||
container=$(echo -e "$app_name" | grep ^"$selection)" | awk '{print $2}')
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "\"$selection\" was not an option, please try agian" && sleep 3 && menu
|
echo "\"$selection\" was not an option, please try agian" && sleep 3 && menu
|
||||||
|
174
functions/script_create.sh
Normal file
174
functions/script_create.sh
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
script_create(){
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
clear -x
|
||||||
|
title
|
||||||
|
echo "Choose Your Update Type"
|
||||||
|
echo "-----------------------"
|
||||||
|
echo "1) -U | Update all applications, ignores versions"
|
||||||
|
echo "2) -u | Update all applications, does not update Major releases"
|
||||||
|
echo
|
||||||
|
echo "0) Exit"
|
||||||
|
echo
|
||||||
|
read -rt 120 -p "Type the Number or Flag: " current_selection || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
case $current_selection in
|
||||||
|
0 | [Ee][Xx][Ii][Tt])
|
||||||
|
echo "Exiting.."
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
1 | -U)
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
echo -e "\nHow many applications do you want updating at the same time?"
|
||||||
|
read -rt 120 -p "Please type an integer greater than 0: " up_async || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
if [[ $up_async == 0 ]]; then
|
||||||
|
echo "Error: \"$up_async\" is less than 1"
|
||||||
|
echo "NOT adding it to the list"
|
||||||
|
sleep 3
|
||||||
|
continue
|
||||||
|
elif ! [[ $up_async =~ ^[0-9]+$ ]]; then
|
||||||
|
echo "Error: \"$up_async\" is invalid, it needs to be an integer"
|
||||||
|
echo "NOT adding it to the list"
|
||||||
|
sleep 3
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
update_selection+=("-U" "$up_async")
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
2 | -u)
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
echo -e "\nHow many applications do you want updating at the same time?"
|
||||||
|
read -rt 120 -p "Please type an integer greater than 0: " up_async || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
if [[ $up_async == 0 ]]; then
|
||||||
|
echo "Error: \"$up_async\" is less than 1"
|
||||||
|
echo "NOT adding it to the list"
|
||||||
|
sleep 3
|
||||||
|
continue
|
||||||
|
elif ! [[ $up_async =~ ^[0-9]+$ ]]; then
|
||||||
|
echo "Error: \"$up_async\" is invalid, it needs to be an integer"
|
||||||
|
echo "NOT adding it to the list"
|
||||||
|
sleep 3
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
update_selection+=("-u" "$up_async")
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$current_selection was not an option, try again" && sleep 3
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
clear -x
|
||||||
|
title
|
||||||
|
echo "Update Options"
|
||||||
|
echo "--------------"
|
||||||
|
echo "1) -r | Roll-back applications if they fail to update"
|
||||||
|
echo "2) -i | Add application to ignore list"
|
||||||
|
echo "3) -S | Shutdown applications prior to updating"
|
||||||
|
echo "4) -v | verbose output"
|
||||||
|
echo "5) -t | Set a custom timeout in seconds when checking if either an App or Mountpoint correctly Started, Stopped or (un)Mounted. Defaults to 500 seconds"
|
||||||
|
echo
|
||||||
|
echo "Additional Options"
|
||||||
|
echo "------------------"
|
||||||
|
echo "6) -b | Back-up your ix-applications dataset, specify a number after -b"
|
||||||
|
echo "7) -s | sync catalog"
|
||||||
|
echo "8) -p | Prune unused/old docker images"
|
||||||
|
echo "9) --self-update | Updates HeavyScript prior to running any other commands"
|
||||||
|
echo
|
||||||
|
echo "99) Remove Update Options, Restart"
|
||||||
|
echo "00) Done making selections, proceed with update"
|
||||||
|
echo
|
||||||
|
echo "0) Exit"
|
||||||
|
echo
|
||||||
|
echo "Current Choices"
|
||||||
|
echo "---------------"
|
||||||
|
echo "bash heavy_script.sh ${update_selection[*]}"
|
||||||
|
echo
|
||||||
|
read -rt 600 -p "Type the Number or Flag: " current_selection || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
case $current_selection in
|
||||||
|
0 | [Ee][Xx][Ii][Tt])
|
||||||
|
echo "Exiting.."
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
00)
|
||||||
|
clear -x
|
||||||
|
echo "Running \"bash heavy_script.sh ${update_selection[*]}\""
|
||||||
|
echo
|
||||||
|
exec bash "$script_name" "${update_selection[@]}"
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
1 | -r)
|
||||||
|
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-r" && echo -e "\"-r\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
||||||
|
update_selection+=("-r")
|
||||||
|
;;
|
||||||
|
2 | -i)
|
||||||
|
read -rt 120 -p "What is the name of the application we should ignore?: " up_ignore || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
! [[ $up_ignore =~ ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ ]] && echo -e "Error: \"$up_ignore\" is not a possible option for an application name" && sleep 3 && continue
|
||||||
|
update_selection+=("-i" "$up_ignore")
|
||||||
|
;;
|
||||||
|
3 | -S)
|
||||||
|
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-S" && echo -e "\"-S\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
||||||
|
update_selection+=("-S")
|
||||||
|
;;
|
||||||
|
4 | -v)
|
||||||
|
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-v" && echo -e "\"-v\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
||||||
|
update_selection+=("-v")
|
||||||
|
;;
|
||||||
|
5 | -t)
|
||||||
|
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-t" && echo -e "\"-t\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
||||||
|
echo "What do you want your timeout to be?"
|
||||||
|
read -rt 120 -p "Please type an integer: " up_timeout || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
! [[ $up_timeout =~ ^[0-9]+$ ]] && echo -e "Error: \"$up_timeout\" is invalid, it needs to be an integer\nNOT adding it to the list" && sleep 3 && continue
|
||||||
|
update_selection+=("-t" "$up_timeout")
|
||||||
|
;;
|
||||||
|
6 | -b)
|
||||||
|
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-b" && echo -e "\"-b\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
||||||
|
echo "Up to how many backups should we keep?"
|
||||||
|
read -rt 120 -p "Please type an integer: " up_backups || { echo -e "\nFailed to make a selection in time" ; exit; }
|
||||||
|
! [[ $up_backups =~ ^[0-9]+$ ]] && echo -e "Error: \"$up_backups\" is invalid, it needs to be an integer\nNOT adding it to the list" && sleep 3 && continue
|
||||||
|
[[ $up_backups == 0 ]] && echo -e "Error: Number of backups cannot be 0\nNOT adding it to the list" && sleep 3 && continue
|
||||||
|
update_selection+=("-b" "$up_backups")
|
||||||
|
;;
|
||||||
|
7 | -s)
|
||||||
|
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-s" && echo -e "\"-s\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
||||||
|
update_selection+=("-s")
|
||||||
|
;;
|
||||||
|
8 | -p)
|
||||||
|
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "-p" && echo -e "\"-p\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
||||||
|
update_selection+=("-p")
|
||||||
|
;;
|
||||||
|
9 | --self-update )
|
||||||
|
printf '%s\0' "${update_selection[@]}" | grep -Fxqz -- "--self-update" && echo -e "\"--self-update\" is already on here, skipping" && sleep 3 && continue #If option is already on there, skip it
|
||||||
|
update_selection+=("--self-update")
|
||||||
|
;;
|
||||||
|
99)
|
||||||
|
count=2
|
||||||
|
echo "restarting"
|
||||||
|
for i in "${update_selection[@]:2}"
|
||||||
|
do
|
||||||
|
unset "update_selection[$count]"
|
||||||
|
echo "$i removed"
|
||||||
|
((count++))
|
||||||
|
done
|
||||||
|
sleep 3
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "\"$current_selection\" was not an option, try again" && sleep 3 && continue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
export -f script_create
|
@ -8,20 +8,15 @@ script_name="heavy_script.sh"
|
|||||||
cd "$script_path" || { echo "Error: Failed to change to script directory" ; exit ; }
|
cd "$script_path" || { echo "Error: Failed to change to script directory" ; exit ; }
|
||||||
|
|
||||||
|
|
||||||
# shellcheck source=functions/backup.sh
|
|
||||||
source functions/backup.sh
|
source functions/backup.sh
|
||||||
# shellcheck source=functions/dns.sh
|
|
||||||
source functions/dns.sh
|
source functions/dns.sh
|
||||||
# shellcheck source=functions/menu.sh
|
|
||||||
source functions/menu.sh
|
source functions/menu.sh
|
||||||
# shellcheck source=functions/misc.sh
|
|
||||||
source functions/misc.sh
|
source functions/misc.sh
|
||||||
# shellcheck source=functions/mount.sh
|
|
||||||
source functions/mount.sh
|
source functions/mount.sh
|
||||||
# shellcheck source=functions/self_update.sh
|
|
||||||
source functions/self_update.sh
|
source functions/self_update.sh
|
||||||
# shellcheck source=functions/update_apps.sh
|
|
||||||
source functions/update_apps.sh
|
source functions/update_apps.sh
|
||||||
|
source functions/cmd_to_container.sh
|
||||||
|
source functions/script_create.sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -139,8 +134,8 @@ done
|
|||||||
[[ "$update_all_apps" == "true" && "$update_apps" == "true" ]] && echo -e "-U and -u cannot BOTH be called" && exit
|
[[ "$update_all_apps" == "true" && "$update_apps" == "true" ]] && echo -e "-U and -u cannot BOTH be called" && exit
|
||||||
|
|
||||||
#Continue to call functions in specific order
|
#Continue to call functions in specific order
|
||||||
[[ "$help" == "true" ]] && help
|
|
||||||
[[ "$self_update" == "true" ]] && self_update
|
[[ "$self_update" == "true" ]] && self_update
|
||||||
|
[[ "$help" == "true" ]] && help
|
||||||
[[ "$deleteBackup" == "true" ]] && deleteBackup && exit
|
[[ "$deleteBackup" == "true" ]] && deleteBackup && exit
|
||||||
[[ "$dns" == "true" ]] && dns && exit
|
[[ "$dns" == "true" ]] && dns && exit
|
||||||
[[ "$restore" == "true" ]] && restore && exit
|
[[ "$restore" == "true" ]] && restore && exit
|
||||||
|
Loading…
Reference in New Issue
Block a user