Update vmcreate1.sh

This commit is contained in:
2025-10-25 13:17:18 +00:00
parent 4f045ffe5a
commit 6b2b6ffaf9

View File

@@ -7,6 +7,8 @@
storage="syno-tigra" storage="syno-tigra"
path="/mnt/pve/$storage/snippets" path="/mnt/pve/$storage/snippets"
username="root"
password=""
show_help() show_help()
echo 'Usage:' echo 'Usage:'
@@ -96,8 +98,8 @@ if [ $# -ne 0 ] then
done done
fi fi
ipcheck() {
# Функция для проверки IP адреса по шаблону 10.10.*.*, написана гуглом # Функция для проверки IP адреса по шаблону 10.10.*.*, написана гуглом
ipcheck() {
local ip=$1 local ip=$1
local stat=1 local stat=1
oldIFS=$IFS oldIFS=$IFS
@@ -114,6 +116,7 @@ ipcheck() {
IFS=$oldIFS IFS=$oldIFS
} }
# Функция для проверки hostname на валидные символы (буквы, цифры, дефис)
hostcheck (){ hostcheck (){
local hostname=$1 local hostname=$1
local pattern="^[a-zA-Z0-9-]+$" local pattern="^[a-zA-Z0-9-]+$"
@@ -144,14 +147,15 @@ keypair_generate (){
pubkey="$privkey".pub pubkey="$privkey".pub
} }
embed_key(){ # Функция, которая создаёт user CloudInit-файл
mksnippet(){
# #
} }
for line in $(<.hosts.tmp) for line in $(cat hosts.tmp)
do do
ip=$(echo $line | cut -d ' ' -f 1) ip=$(echo $line | cut -d ' ' -f 1)
vlan=$(echo $ip | cut -d '.' -f 3) vlan=$(echo $ip | cut -d '.' -f 3)
@@ -167,7 +171,7 @@ do
qm set $vmnum --tags 3,gfx qm set $vmnum --tags 3,gfx
## preparing custom CloudInit snippets ## preparing custom CloudInit snippets
cp ./user.yaml ${path}${vmnum}_user.yaml 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 resize $vmnum scsi0 +50G
qm set $vmnum --cicustom "user=${storage}:snippets/${vmnum}_user.yaml" qm set $vmnum --cicustom "user=${storage}:snippets/${vmnum}_user.yaml"
qm set $vmnum --ipconfig0 ip=$ip/24,gw=10.10.35.1 qm set $vmnum --ipconfig0 ip=$ip/24,gw=10.10.35.1