mirror of
https://github.com/tteck/Proxmox.git
synced 2025-02-15 06:09:15 +01:00
When running certain scripts, sometimes an 'm' character is wrongly output to the terminal. This PR fixes all instances of this happening. I've also made 'RD' (red) consistent with 'GN' (green) by removing the leading 0, and my editor has kindly removed all trailing spaces from files.
72 lines
1.8 KiB
Bash
72 lines
1.8 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
YW=`echo "\033[33m"`
|
|
BL=`echo "\033[36m"`
|
|
RD=`echo "\033[1;31m"`
|
|
CM='\xE2\x9C\x94\033'
|
|
GN=`echo "\033[1;92m"`
|
|
CL=`echo "\033[0m"`
|
|
while true; do
|
|
read -p "This Will Update All LXC Containers. Proceed(y/n)?" yn
|
|
case $yn in
|
|
[Yy]* ) break;;
|
|
[Nn]* ) exit;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
clear
|
|
function header_info {
|
|
echo -e "${BL}
|
|
_ _ _____ _____ _______ ______
|
|
| | | | __ \| __ \ /\|__ __| ____|
|
|
| | | | |__) | | | | / \ | | | |__
|
|
| | | | ___/| | | |/ /\ \ | | | __|
|
|
| |__| | | | |__| / ____ \| | | |____
|
|
\____/|_| |_____/_/ \_\_| |______|
|
|
|
|
${CL}"
|
|
}
|
|
header_info
|
|
|
|
containers=$(pct list | tail -n +2 | cut -f1 -d' ')
|
|
|
|
function update_container() {
|
|
container=$1
|
|
clear
|
|
header_info
|
|
echo -e "${BL}[Info]${GN} Updating${BL} $container ${CL} \n"
|
|
pct exec $container -- bash -c "apt update && apt upgrade -y && apt autoremove -y"
|
|
}
|
|
read -p "Skip stopped containers? " -n 1 -r
|
|
echo
|
|
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
|
then
|
|
skip=no
|
|
else
|
|
skip=yes
|
|
fi
|
|
|
|
for container in $containers
|
|
do
|
|
status=`pct status $container`
|
|
if [ "$skip" == "no" ]; then
|
|
if [ "$status" == "status: stopped" ]; then
|
|
echo -e "${BL}[Info]${GN} Starting${BL} $container ${CL} \n"
|
|
pct start $container
|
|
echo -e "${BL}[Info]${GN} Waiting For${BL} $container${CL}${GN} To Start ${CL} \n"
|
|
sleep 5
|
|
update_container $container
|
|
echo -e "${BL}[Info]${GN} Shutting down${BL} $container ${CL} \n"
|
|
pct shutdown $container &
|
|
elif [ "$status" == "status: running" ]; then
|
|
update_container $container
|
|
fi
|
|
fi
|
|
if [ "$skip" == "yes" ]; then
|
|
if [ "$status" == "status: running" ]; then
|
|
update_container $container
|
|
fi
|
|
fi
|
|
done; wait
|
|
|
|
echo -e "${GN} Finished, All Containers Updated. ${CL} \n"
|