So erstellen Sie ein Bash-Skript zum Starten von VirtualBox-VMs

Bild: Jack Wallen

VirtualBox enthält eine nützliche Funktion, mit der Sie eine Desktop-Verknüpfung für virtuelle Maschinen erstellen können. Dies nützt Ihnen jedoch nicht viel, wenn Sie VirtualBox auf einem Server ohne GUI ausführen. In diesem Fall möchten Sie nicht immer den Befehl ausgeben müssen, um eine VM jedes Mal zu starten, wenn sie benötigt wird. Was machst du zu diesem Zweck? Wenn Sie Linux zum Hosten von VirtualBox-VMs verwenden, ist dies ganz einfach: Sie erstellen Bash-Skripte, um das Starten, Stoppen und Fortsetzen dieser virtuellen Maschinen zu verwalten.

Ich werde Ihnen zeigen, wie Sie genau das tun. Ich gehe davon aus, dass Sie VirtualBox bereits zusammen mit allen benötigten virtuellen Maschinen installiert haben. Lassen Sie uns sehen, wie das gemacht wird.

Auflisten Ihrer VMs

Das erste, was Sie herausfinden müssen, ist der Name Ihrer virtuellen Maschinen. Wenn dies eine GUI wäre, könnten Sie einfach VirtualBox öffnen und sie aufgelistet sehen. Da der Server jedoch keine grafische Benutzeroberfläche hat, müssen Sie einen praktischen Befehl verwenden, um Ihre VMs aufzulisten. Dieser Befehl lautet:

 VBoxManage-Liste vms 

Die Ausgabe des Befehls ( Abbildung A ) zeigt Ihnen den Namen und die UID jeder Ihrer virtuellen Maschinen. Sie möchten den Namen Ihrer VM.

Abbildung A.

Auflisten aller Ihrer VirtualBox-VMs.


Erstellen des Bash-Skripts

Angenommen, ich möchte ein Skript zum Starten der VM "UbuntuSERVER Clone" erstellen. Erstellen Sie die Datei mit dem Befehl nano ubuntuserverclone.start . Der Inhalt dieser Datei lautet:

 #! / bin / bash VBoxManage startvm "UbuntuSERVER Clone" - Typ ohne Kopf 

Speichern und schließen Sie diese Datei.

Für jede Aufgabe müssten Sie eine andere Datei erstellen. Sie können eine ubuntuserverclone.stop-Datei mit folgendem Inhalt erstellen:

 #! / bin / bash VBoxManage controlvm "UbuntuSERVER Clone" Ausschalttyp - kopflos 

Um dieselbe virtuelle Maschine anzuhalten, erstellen Sie eine Datei mit dem Namen ubuntuserverclone.pause mit den folgenden Inhalten:

 #! / bin / bash VBoxManage controlvm "UbuntuSERVER Clone" Pause - Typ ohne Kopf 

Erstellen Sie eine Datei mit dem Namen ubuntuserverclone.resume mit dem folgenden Inhalt, um die angehaltene virtuelle Maschine fortzusetzen:

 #! / bin / bash VBoxManage controlvm "UbuntuSERVER Clone" Fortsetzen - Typ kopflos 

Stellen Sie nach dem Erstellen jeder Datei sicher, dass Sie ihr mit dem folgenden Befehl ausführbare Rechte erteilen:

 chmod u + x ubunserverclone.start 

Tun Sie dies für jede Datei, die Sie erstellen, und ersetzen Sie jedes Mal den Namen der Datei, damit Ihre neuen Bash-Skripte die richtige Aktion ausführen.

Ausführen des Skripts

Sie haben zwei Möglichkeiten: Sie können diese Skripte in einem bestimmten Verzeichnis ausführen oder sie in ein Verzeichnis in Ihrem $ PATH kopieren, damit sie global ausgeführt werden können. Wenn Sie sich dafür entscheiden, dass sie nicht global ausgeführt werden, öffnen Sie einfach ein Terminal, wechseln Sie in das Verzeichnis, in dem sich die Skripte befinden, und geben Sie den Befehl ./ubuntuserverclone.start aus .

Wenn Sie sich für den globalen Weg entscheiden, können Sie die Dateien mit dem Befehl sudo cp ubuntuserverclone * / usr / local / bin kopieren . Geben Sie als Nächstes die entsprechende Berechtigung mit dem Befehl sudo chmod o + x /usr/local/bin/ubuntuserverclone.* . Jetzt können Sie jedes Skript aus einem beliebigen Verzeichnis ausführen, indem Sie einfach den Befehl ubuntuserverclone.start (oder .stop, .pause, .resume) eingeben.

Einfache Steuerung Ihrer kopflosen VMs

Und das ist alles, was Sie tun müssen, um die Steuerung Ihrer virtuellen Headless-VirtualBox-Maschinen unglaublich einfach zu gestalten. Erstellen Sie steuernde Bash-Skripte für jede Ihrer VMs, damit Sie sie starten, stoppen, anhalten und fortsetzen können, ohne jedes Mal den vollständigen Befehl ausführen zu müssen.

Cloud und alles als Service Newsletter

Dies ist Ihre Anlaufstelle für die neuesten Informationen zu AWS, Microsoft Azure, Google Cloud Platform, XaaS, Cloud-Sicherheit und vielem mehr. Montags geliefert

Heute anmelden

© Copyright 2020 | mobilegn.com