Hvordan lage et bash-skript for å starte VirtualBox VM-er

Bilde: Jack Wallen

Det er en fin funksjon som følger med VirtualBox som lar deg lage en stasjonær snarvei for virtuelle maskiner. Dette gjør deg imidlertid ikke så bra hvis du kjører VirtualBox på en GUI-mindre server. Hvis det er tilfelle, vil du ikke alltid måtte utgi kommandoen for å starte en VM hver gang den trengs. Hva gjør du for det? Hvis du bruker Linux til å være vert for VirtualBox VMer, er det egentlig ganske enkelt - du lager bash-skript for å administrere start, stopp og gjenoppta av de virtuelle maskinene.

Jeg skal vise deg hvordan du gjør akkurat det. Jeg antar at du allerede har VirtualBox installert sammen med alle de virtuelle maskinene du trenger. Når det er sagt, la oss se hvordan dette gjøres.

Liste over VM-er

Det første du trenger å finne ut er navnet på de virtuelle maskinene dine. Hvis dette var et GUI, kan du ganske enkelt åpne VirtualBox og se dem oppført. Men siden serveren ikke har noen GUI, må du bruke en hendig kommando for å liste over VM-er. Denne kommandoen er:

 VBoxManage list vms 

Utgangen fra kommandoen ( figur A ) vil vise deg navnet og UID på hver av de virtuelle maskinene dine. Du vil ha navnet på din VM.

Figur A

Liste over alle VirtualBox VM-er.


Opprette bash-skriptet

La oss si at jeg vil lage et skript for å starte VM "UbuntuSERVER Clone". Opprett filen med kommandoen nano ubuntuserverclone.start . Innholdet i denne filen vil være:

 #! / bin / bash VBoxManage startvm "UbuntuSERVER Clone" - skriv hodeløs 

Lagre og lukk den filen.

For hver oppgave må du opprette en annen fil. Du kan opprette en ubuntuserverclone.stop-fil med følgende innhold:

 #! / bin / bash VBoxManage controlvm "UbuntuSERVER Clone" poweroff - type hodeløs 

Hvis du vil pause den samme virtuelle maskinen, oppretter du en fil som heter ubuntuserverclone.pause med følgende innhold:

 #! / bin / bash VBoxManage controlvm "UbuntuSERVER Clone" pause - skriv hodeløs 

For å fortsette den virtuelle maskinen som er på pause, oppretter du en fil som heter ubuntuserverclone.resume med innholdet:

 #! / bin / bash VBoxManage controlvm "UbuntuSERVER Clone" CV - type hodeløs 

Sørg for at du, etter at du har opprettet hver fil, gir den kjørbare rettigheter med kommandoen:

 chmod u + x ubunserverclone.start 

Gjør det for hver fil du oppretter ved å erstatte navnet på filen hver gang, så de nye bash-skriptene dine vil utføre riktig handling.

Kjører manuset

Du har to alternativer: Du kan kjøre disse skriptene fra en bestemt katalog, eller du kan kopiere dem til en katalog i $ PATH, slik at de kan kjøres globalt. Hvis du velger å ikke la dem kjøre globalt, bare åpne en terminal, endre til katalogen som inneholder skriptene og gi kommandoen ./ubuntuserverclone.start .

Hvis du velger å gå den globale ruten, kan du kopiere filene med kommandoen sudo cp ubuntuserverclone * / usr / local / bin . Deretter gi den riktig tillatelse med kommandoen sudo chmod o + x /usr/local/bin/ubuntuserverclone.* . Nå kan du kjøre hvert skript, fra hvilken som helst katalog, ganske enkelt ved å utgi kommandoen ubuntuserverclone.start (eller .stop, .pause, .resume).

Enkel kontroll av hodeløse VM-er

Og det er alt som er for å gjøre kontrollen med VirtualBox hodeløse virtuelle maskiner utrolig enkel. Lag kontrollerende basskript for hver av VM-ene dine, slik at du kan starte, stoppe, pause og gjenoppta dem uten å måtte utgi hele kommandoen hver gang.

Cloud og alt som et service nyhetsbrev

Dette er din go-to ressurs for det siste om AWS, Microsoft Azure, Google Cloud Platform, XaaS, skysikkerhet og mye mer. Leveres mandager

Registrer deg i dag

© Copyright 2021 | pepebotifarra.com