Update vmcreate1.sh

This commit is contained in:
2025-10-26 07:01:18 +00:00
parent 021f9e9d62
commit c63483cb01

View File

@@ -4,7 +4,8 @@
# Сделать добавление кастомного полльзователя с паролем
# Сделать замену тега влан
# Сделать проверку наличия ВМ перед клонированием.
# Добавить переезд на ноду, выбор ноды
# Добавить переезд на ноду, выбор ноды. Статистика загрузки нод - в хелп.
# Добавить тег прокса
# ИЗУЧИТЬ!!!! /usr/share/pve-docs/examples/guest-example-hookscript.pl
storage="syno-tigra"
@@ -39,6 +40,11 @@ while getopts "a:f:h" opt; do
esac
done
# Вывод переменных для дебага:
if [[ -v file ]]; then echo "File: $file"; fi
if [[ -v pubkey ]]; then echo "Public key: $pubkey"; fi
if [[ -v username ]]; then echo "User: $file"; fi
# Если файл не задан, но флаг есть
if [[ $# -eq 0 && -v $file && ! -f $file ]]; then
input=y
@@ -50,11 +56,11 @@ if [[ $# -eq 0 && -v $file && ! -f $file ]]; then
N) read -p "Enter file name: " file;;
*) echo "Use '-f' flag for help"; exit 0;;
esac
if [ ! -f hosts ]; then echo "File `hosts` does not exist. Exiting."; exit 0; fi
if [ ! -f file ]; then echo "File `$file` does not exist. Exiting."; exit 1; fi
fi
# Если заданы аргументы И файл
if [[ $# -ne 0 && -v file ]]; then echo "Please enter file OR arguments. Use '-f' flag for help"; exit 0; fi
if [[ $# -ne 0 && -v file ]]; then echo "Please enter file OR arguments. Use '-f' flag for help"; exit 2; fi
# Проверка файла на соответствие шаблону IPv4 адреса и hostname, создаём временный файл из валидных строк
if [ -e $file ]; then
@@ -71,12 +77,12 @@ if [ -e $file ]; then
else
echo "Hostname `$hostname` is not valid. Should contain only letters, numbers and dash. Aborting."
rm hosts.tmp
exit 5
exit 3
fi
else
echo "`$ip` is not a valid IPv4 address (10.10.*.*). Aborting."
rm hosts.tmp
exit 6
exit 4
fi
done
fi
@@ -138,12 +144,12 @@ if [ -v pubkey ]; then
Y) read -p "Enter name for your private key: " privkey && keypair_generate ("$privkey");;
n) echo "Public key is necessary to continue. Please specify or generate new pair.";;
N) echo "Public key is necessary to continue. Please specify or generate new pair.";;
*) echo "Use '-h' flag for help"; exit 0;;
*) echo "Use '-h' flag for help"; exit 6;;
esac
fi
else
pubkey="key.pub"
if [[ ! -e key.pub ]]; then echo "`key.pub` does not exist. Please use `-k` flag to specify public key."; exit 0; fi
if [[ ! -e key.pub ]]; then echo "`key.pub` does not exist. Please use `-k` flag to specify public key."; exit 7; fi
fi
keypair_generate (){
@@ -176,7 +182,7 @@ do
qm clone 5000 $vmnum --name $hostname --full &>/dev/null
if [ $? -eq 0 ]
then echo "OK"
else "ERROR"; exit 1
else "ERROR"; exit 8
fi
qm set $vmnum --tags $node,gfx
mksnippet