Update vmcreate1.sh
This commit is contained in:
22
vmcreate1.sh
22
vmcreate1.sh
@@ -4,7 +4,8 @@
|
|||||||
# Сделать добавление кастомного полльзователя с паролем
|
# Сделать добавление кастомного полльзователя с паролем
|
||||||
# Сделать замену тега влан
|
# Сделать замену тега влан
|
||||||
# Сделать проверку наличия ВМ перед клонированием.
|
# Сделать проверку наличия ВМ перед клонированием.
|
||||||
# Добавить переезд на ноду, выбор ноды
|
# Добавить переезд на ноду, выбор ноды. Статистика загрузки нод - в хелп.
|
||||||
|
# Добавить тег прокса
|
||||||
# ИЗУЧИТЬ!!!! /usr/share/pve-docs/examples/guest-example-hookscript.pl
|
# ИЗУЧИТЬ!!!! /usr/share/pve-docs/examples/guest-example-hookscript.pl
|
||||||
|
|
||||||
storage="syno-tigra"
|
storage="syno-tigra"
|
||||||
@@ -39,6 +40,11 @@ while getopts "a:f:h" opt; do
|
|||||||
esac
|
esac
|
||||||
done
|
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
|
if [[ $# -eq 0 && -v $file && ! -f $file ]]; then
|
||||||
input=y
|
input=y
|
||||||
@@ -50,11 +56,11 @@ if [[ $# -eq 0 && -v $file && ! -f $file ]]; then
|
|||||||
N) read -p "Enter file name: " file;;
|
N) read -p "Enter file name: " file;;
|
||||||
*) echo "Use '-f' flag for help"; exit 0;;
|
*) echo "Use '-f' flag for help"; exit 0;;
|
||||||
esac
|
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
|
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, создаём временный файл из валидных строк
|
# Проверка файла на соответствие шаблону IPv4 адреса и hostname, создаём временный файл из валидных строк
|
||||||
if [ -e $file ]; then
|
if [ -e $file ]; then
|
||||||
@@ -71,12 +77,12 @@ if [ -e $file ]; then
|
|||||||
else
|
else
|
||||||
echo "Hostname `$hostname` is not valid. Should contain only letters, numbers and dash. Aborting."
|
echo "Hostname `$hostname` is not valid. Should contain only letters, numbers and dash. Aborting."
|
||||||
rm hosts.tmp
|
rm hosts.tmp
|
||||||
exit 5
|
exit 3
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "`$ip` is not a valid IPv4 address (10.10.*.*). Aborting."
|
echo "`$ip` is not a valid IPv4 address (10.10.*.*). Aborting."
|
||||||
rm hosts.tmp
|
rm hosts.tmp
|
||||||
exit 6
|
exit 4
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
@@ -138,12 +144,12 @@ if [ -v pubkey ]; then
|
|||||||
Y) read -p "Enter name for your private key: " privkey && keypair_generate ("$privkey");;
|
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.";;
|
||||||
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
|
esac
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
pubkey="key.pub"
|
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
|
fi
|
||||||
|
|
||||||
keypair_generate (){
|
keypair_generate (){
|
||||||
@@ -176,7 +182,7 @@ do
|
|||||||
qm clone 5000 $vmnum --name $hostname --full &>/dev/null
|
qm clone 5000 $vmnum --name $hostname --full &>/dev/null
|
||||||
if [ $? -eq 0 ]
|
if [ $? -eq 0 ]
|
||||||
then echo "OK"
|
then echo "OK"
|
||||||
else "ERROR"; exit 1
|
else "ERROR"; exit 8
|
||||||
fi
|
fi
|
||||||
qm set $vmnum --tags $node,gfx
|
qm set $vmnum --tags $node,gfx
|
||||||
mksnippet
|
mksnippet
|
||||||
|
|||||||
Reference in New Issue
Block a user