-
Notifications
You must be signed in to change notification settings - Fork 1
/
ovatopve.sh
175 lines (169 loc) · 3.99 KB
/
ovatopve.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
#!/bin/bash
# Autor: Gilberto Ferreira
# Data: 17/01/2018
# Licença: GPL
# Versão = 0.001
clear
echo "========================================================="
echo "| |"
echo "| Programa para converter ova para Proxmox |"
echo "| |"
echo "========================================================="
echo ""
clear
Menu() {
echo "Escolha abaixo ..."
echo ""
echo "[ 0 ] - Onde está o arquivo OVA?"
echo "[ 1 ] - VMWare"
echo "[ 2 ] - HyperV"
echo "[ 3 ] - VirtualBox"
echo "[ 4 ] - Sair"
echo ""
echo "Digite sua opção:"; read opcao
case $opcao in
0) onde ;;
1) vmware ;;
2) hyperv ;;
3) vbox ;;
4) exit ;;
*) echo "Opção desconhecida" ; sleep 1;clear; Menu
esac
}
onde(){
clear
echo ""
echo "Digite o caminho onde está o arquivo"
read caminho
for arquivo in `ls $caminho`; do
echo "Achei o arquivo $arquivo"
echo "Vamos descompacta-lo..."
echo "Deseja prosseguir? (S/N)"
read op2
if [ $op2 == "S" ];
then
echo "Renomeando o arquivo $arquivo para .tar"
cd $caminho
mv "$arquivo" "$(basename "$arquivo" .ova).tar"
sleep 2
echo "Descompacando..."
for arqtar in `ls $caminho`;do
cd $caminho
tar xvf "$arqtar"
echo "Operação concluida..."
echo "Retornando..."
clear
Menu
done
else
echo "Voltando ao menu principal"
clear
Menu
fi
done
Menu
}
vmware(){
clear
echo ""
echo "Digite o caminho onde está o arquivo"
read caminho
for arquivo in `ls $caminho/*.vmdk`; do
if [[ $arquivo == *.vmdk ]];
then
echo "É um arquivo VMDK..."
sleep 1
echo "Criando uma VM no Proxmox com VMID 999..."
echo "Não esqueça de renomear o ID da VM depois, pra refletir seu ambiente e ajustar a VM..."
echo "Mostrando os storages disponíveis..."
pvesm status
echo ""
echo "Escolhe o storage desejado..."
read stg
echo ""
echo ""
echo "Criando a VM 999..."
qm create 999 --net0 virtio,bridge=vmbr0 --name vm999 --serial0 socket --bootdisk scsi0 --scsihw virtio-scsi-pci --ostype win10
qm importdisk 999 $arquivo $stg
echo ""
sleep 2
echo "Importação foi um sucesso..."
sleep 2
echo "Não esqueça de ajustar a VM 999 para suas necessidades..."
clear
else
echo "Não é um arquivo VMDK..."
fi
done
Menu
}
hyperv(){
clear
echo ""
echo "Lembre-se que esse script trabalha com arquivo vhdx... Por favor renomeie..."
echo "Digite o caminho onde está o arquivo"
read caminho
for arquivo in `ls $caminho/*.vhdx`; do
if [[ $arquivo == *.vhdx ]];
then
echo "É um arquivo VHDX..."
sleep 1
echo "Criando uma VM no Proxmox com VMID 999..."
echo "Não esqueça de renomear o ID da VM depois, pra refletir seu ambiente e ajustar a VM..."
echo "Mostrando os storages disponíveis..."
pvesm status
echo ""
echo "Escolhe o storage desejado..."
read stg
echo ""
echo ""
echo "Criando a VM 999..."
qm create 999 --net0 virtio,bridge=vmbr0 --name vm999 --serial0 socket --bootdisk scsi0 --scsihw virtio-scsi-pci --ostype win10
qm importdisk 999 $arquivo $stg
echo ""
sleep 2
echo "Importação foi um sucesso..."
sleep 2
echo "Não esqueça de ajustar a VM 999 para suas necessidades..."
clear
else
echo "Não é um arquivo VHDX..."
fi
done
Menu
}
vbox(){
clear
echo ""
echo "Digite o caminho onde está o arquivo"
read caminho
for arquivo in `ls $caminho/*.vdi`; do
if [[ $arquivo == *.vdi ]];
then
echo "É um arquivo VDI..."
sleep 1
echo "Criando uma VM no Proxmox com VMID 999..."
echo "Não esqueça de renomear o ID da VM depois, pra refletir seu ambiente e ajustar a VM..."
echo "Mostrando os storages disponíveis..."
pvesm status
echo ""
echo "Escolhe o storage desejado..."
read stg
echo ""
echo ""
echo "Criando a VM 999..."
qm create 999 --net0 virtio,bridge=vmbr0 --name vm999 --serial0 socket --bootdisk scsi0 --scsihw virtio-scsi-pci --ostype win10
qm importdisk 999 $arquivo $stg
echo ""
sleep 2
echo "Importação foi um sucesso..."
sleep 2
echo "Não esqueça de ajustar a VM 999 para suas necessidades..."
clear
else
echo "Não é um arquivo VMDK..."
fi
done
Menu
}
Menu