Files
vmcreate/qmcreate.sh
2025-10-22 13:09:24 +00:00

31 lines
1.3 KiB
Bash

#!/bin/bash
while read $line
do
#echo $line
ip=$(echo $line | cut -d ' ' -f 1)
#echo "IP address: $ip"
hostname=$(echo $line | cut -d ' ' -f 2)
#echo "Hostname: $hostname"
vmnum=35$(echo $ip | cut -d '.' -f 4)
#echo "VM number: $vmnum"
qm clone 5000 $vmnum --name $hostname --full
if [ $? -eq 0 ]
then echo "clone OK"
else "clone ERROR"
fi
qm set $vmnum --tags 3,gfx
## preparing custom CloudInit snippets
cp ./user.yaml /mnt/pve/syno-tigra/snippets/${vmnum}_user.yaml
cp ./network.yaml /mnt/pve/syno-tigra/snippets/${vmnum}_network.yaml
sed -i "s/HOSTNAME/$hostname/g" /mnt/pve/syno-tigra/snippets/${vmnum}_user.yaml
sed -i "s/IP/$ip/g" /mnt/pve/syno-tigra/snippets/${vmnum}_network.yaml
if [ -f "./gfx.pub "]
then echo "key OK"
else echo "key ERROR. Put the public key named 'gfx.pub'"
fi
#key=$(cat ./gfx.pub)
#sed -i 's/KEY/$key/g' /mnt/pve/syno-tigra/snippets/${vmnum}_user.yaml
qm set $vmnum --cicustom "user=syno-tigra:snippets/${vmnum}_user.yaml,network=syno-tigra:snippets/${vmnum}_network.yaml" --sshkey ./gfx.pub
qm resize $vmnum scsi0 +50G
mac=$(cat /etc/pve/qemu-server/${vmnum}.conf | grep net0 | cut -d ',' -f 1 | cut -d '=' -f 2)
done < ./hosts