From 6b2b6ffaf91601b72707841b0018b84f645b6fdd Mon Sep 17 00:00:00 2001 From: Dmitry Badovsky Date: Sat, 25 Oct 2025 13:17:18 +0000 Subject: [PATCH] Update vmcreate1.sh --- vmcreate1.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/vmcreate1.sh b/vmcreate1.sh index 8ee5a0c..9c36c39 100644 --- a/vmcreate1.sh +++ b/vmcreate1.sh @@ -7,6 +7,8 @@ storage="syno-tigra" path="/mnt/pve/$storage/snippets" +username="root" +password="" show_help() echo 'Usage:' @@ -53,7 +55,7 @@ fi # Если заданы аргументы И файл if [[ $# -ne 0 && -v file ]]; then echo "Please enter file OR arguments. Use '-f' flag for help"; exit 0; fi -#Проверка файла на соответствие шаблону IPv4 адреса и hostname, создаём временный файл из валидных строк +# Проверка файла на соответствие шаблону IPv4 адреса и hostname, создаём временный файл из валидных строк if [ -e $file ]; then touch hosts.tmp echo -n "" > hosts.tmp @@ -96,8 +98,8 @@ if [ $# -ne 0 ] then done fi +# Функция для проверки IP адреса по шаблону 10.10.*.*, написана гуглом ipcheck() { - # Функция для проверки IP адреса по шаблону 10.10.*.*, написана гуглом local ip=$1 local stat=1 oldIFS=$IFS @@ -114,13 +116,14 @@ ipcheck() { IFS=$oldIFS } +# Функция для проверки hostname на валидные символы (буквы, цифры, дефис) hostcheck (){ local hostname=$1 local pattern="^[a-zA-Z0-9-]+$" if [[ "$hostname" =~ $pattern ]]; then return 0; else return 1; fi } -#Проверяем ключ +# Проверяем ключ if [ -v pubkey ]; then if [[ ! -f pubkey ]]; then input=y @@ -144,14 +147,15 @@ keypair_generate (){ pubkey="$privkey".pub } -embed_key(){ +# Функция, которая создаёт user CloudInit-файл +mksnippet(){ # } -for line in $(<.hosts.tmp) +for line in $(cat hosts.tmp) do ip=$(echo $line | cut -d ' ' -f 1) vlan=$(echo $ip | cut -d '.' -f 3) @@ -167,7 +171,7 @@ do qm set $vmnum --tags 3,gfx ## preparing custom CloudInit snippets cp ./user.yaml ${path}${vmnum}_user.yaml - sed -i "s/HOSTNAME/$hostname/g" ${path}${vmnum}_user.yaml + # sed -i "s/HOSTNAME/$hostname/g" ${path}${vmnum}_user.yaml qm resize $vmnum scsi0 +50G qm set $vmnum --cicustom "user=${storage}:snippets/${vmnum}_user.yaml" qm set $vmnum --ipconfig0 ip=$ip/24,gw=10.10.35.1