Update vmcreate1.sh

This commit is contained in:
2025-10-26 20:31:39 +00:00
parent 8d414da5fd
commit 42141af48c

View File

@@ -14,7 +14,7 @@ mkdir $path #REMOVE AFTER CORRECT PATH!!!!!!!!
node=3 node=3
size=50 size=50
show_help(){ show_help () {
echo echo
echo 'Usage:' echo 'Usage:'
echo 'vmcreate [-h][-a rule_name][-k pub_keyfile][-u][-p][-d 50][-t][-f filename]' echo 'vmcreate [-h][-a rule_name][-k pub_keyfile][-u][-p][-d 50][-t][-f filename]'
@@ -35,7 +35,7 @@ show_help(){
} }
#Функция создания VMID, аргумент - IPv4 адрес. #Функция создания VMID, аргумент - IPv4 адрес.
get_vmid(){ get_vmid () {
local vlan=$(echo -n $1 | cut -d '.' -f 3) local vlan=$(echo -n $1 | cut -d '.' -f 3)
local oct4=$(echo -n $1 | cut -d '.' -f 4) local oct4=$(echo -n $1 | cut -d '.' -f 4)
local vmid="" local vmid=""
@@ -49,7 +49,7 @@ get_vmid(){
} }
# Функция для проверки IP адреса по шаблону 10.10.*.*, написана гуглом # Функция для проверки IP адреса по шаблону 10.10.*.*, написана гуглом
ipcheck() { ipcheck () {
local ip=$1 local ip=$1
local stat=1 local stat=1
#oldIFS=$IFS #oldIFS=$IFS
@@ -67,7 +67,7 @@ ipcheck() {
} }
# Функция для проверки hostname на валидные символы (буквы, цифры, дефис) # Функция для проверки hostname на валидные символы (буквы, цифры, дефис)
hostcheck(){ hostcheck () {
local hostname=$1 local hostname=$1
local pattern="^[a-zA-Z0-9-]+$" local pattern="^[a-zA-Z0-9-]+$"
if [[ "$hostname" =~ $pattern ]]; then if [[ "$hostname" =~ $pattern ]]; then
@@ -77,13 +77,13 @@ hostcheck(){
fi fi
} }
keypair_generate(){ keypair_generate () {
ssh-keygen -t rsa -N "" -f $privkey ssh-keygen -t rsa -N "" -f $privkey
pubkey="$privkey".pub pubkey="$privkey".pub
echo "Keypair generated." echo "Keypair generated."
} }
mksnippet(){ mksnippet () {
snippet="${path}${vmid}_user.yaml" snippet="${path}${vmid}_user.yaml"
cp ./user.yaml "$snippet" cp ./user.yaml "$snippet"
sed -i "s/HOSTNAME/$hostname/g" "$snippet" sed -i "s/HOSTNAME/$hostname/g" "$snippet"