Sprachunabhängiges Script für virsh [geloest]

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
oln
Beiträge: 514
Registriert: 05.01.2021 09:41:24

Sprachunabhängiges Script für virsh [geloest]

Beitrag von oln » 14.03.2023 08:03:15

Moin,
ich habe zwei kleine Scripte die meine VMs pausieren lassen und wieder starten. Das benötige ich, um dann ein Backup der VMs zu erstellen.
Hier die Scripte:
Zum schlafen legen.

Code: Alles auswählen

#!/bin/bash

for VM in $(/usr/bin/virsh list --name); do
        if [[ "$(/usr/bin/virsh domstate ${VM})" == "running" ]]; then
                /usr/bin/virsh  suspend ${VM}
        fi
done
Zum aufwecken

Code: Alles auswählen

#!/bin/bash

for VM in $(/usr/bin/virsh list --name); do
        if [[ "$(/usr/bin/virsh domstate ${VM})" != "running" ]]; then
                /usr/bin/virsh resume ${VM}
        fi
done
Nun habe ich einen neuen Server bekommen und der ist in deutsch installiert worden. Da kommt dann nicht "runnig" sondern "laufend" raus. Der nächste Server könnte in spanisch sein.
Wie könnte man das sprachunabhänging gestalten?
Zuletzt geändert von oln am 14.03.2023 08:26:38, insgesamt 1-mal geändert.
Gruß Ole
AbuseIPDB

DeletedUserReAsG

Re: Sprachunabhängiges Script für virsh

Beitrag von DeletedUserReAsG » 14.03.2023 08:08:57

Üblicherweise nimmt man den Rückgabewert, der sollte bei Erfolg der Abfrage 0, und in jedem anderen Fall ≠0 sein. Ob sich virsh an diese Konvention hält, weiß ich nicht – aber das lässt sich ja fix rausfinden.

Benutzeravatar
MSfree
Beiträge: 10980
Registriert: 25.09.2007 19:59:30

Re: Sprachunabhängiges Script für virsh

Beitrag von MSfree » 14.03.2023 08:13:50

oln hat geschrieben: ↑ zum Beitrag ↑
14.03.2023 08:03:15
Zum schlafen legen.

Code: Alles auswählen

#!/bin/bash

for VM in $(/usr/bin/virsh list --name); do
        if [[ "$(/usr/bin/virsh domstate ${VM})" == "running" ]]; then
                /usr/bin/virsh  suspend ${VM}
        fi
done
Ich bin mir ziemlich sicher, daß das "if" überhaupt nicht nötig ist. Im schlimmsten Falle legst du eine VM schlafen, die bereits schläft. Das sollte eigentlich kein Problem sein:

Code: Alles auswählen

#!/bin/bash

for VM in $(/usr/bin/virsh list --name); do
     /usr/bin/virsh  suspend ${VM}
done
Zum Aufwecken das gleiche in grün.

Benutzeravatar
oln
Beiträge: 514
Registriert: 05.01.2021 09:41:24

Re: Sprachunabhängiges Script für virsh

Beitrag von oln » 14.03.2023 08:26:12

MSfree hat geschrieben: ↑ zum Beitrag ↑
14.03.2023 08:13:50
Ich bin mir ziemlich sicher, daß das "if" überhaupt nicht nötig ist. Im schlimmsten Falle legst du eine VM schlafen, die bereits schläft. Das sollte eigentlich kein Problem sein:

Code: Alles auswählen

#!/bin/bash

for VM in $(/usr/bin/virsh list --name); do
     /usr/bin/virsh  suspend ${VM}
done
Zum Aufwecken das gleiche in grün.
Wie recht du hast. Manchmal sieht man den Wald vor lauter Bäumen nicht.
Danke.
Gruß Ole
AbuseIPDB

Benutzeravatar
bluestar
Beiträge: 2364
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Sprachunabhängiges Script für virsh [geloest]

Beitrag von bluestar » 15.03.2023 11:19:09

oln hat geschrieben: ↑ zum Beitrag ↑
14.03.2023 08:03:15
Wie könnte man das sprachunabhänging gestalten?
Du kannst ein

Code: Alles auswählen

LANG=C
benutzen

Benutzeravatar
oln
Beiträge: 514
Registriert: 05.01.2021 09:41:24

Re: Sprachunabhängiges Script für virsh [geloest]

Beitrag von oln » 15.03.2023 14:54:51

bluestar hat geschrieben: ↑ zum Beitrag ↑
15.03.2023 11:19:09
Du kannst ein

Code: Alles auswählen

LANG=C
benutzen
Wie müsste ich mit das in meinem Script vorstellen?
Gruß Ole
AbuseIPDB

Benutzeravatar
heisenberg
Beiträge: 3700
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Sprachunabhängiges Script für virsh [geloest]

Beitrag von heisenberg » 15.03.2023 14:58:57

einfach am Anfang des Scriptes setzen:

Code: Alles auswählen

#!/bin/bash

export LC_ALL=C
# LC_ALL setzt alle sprachspezifischen Einstellungen(Zeichensatz, Währung, Zeit, ...) auf Englisch
Siehe:

https://www.baeldung.com/linux/locale-e ... -variables

Benutzeravatar
abi
Beiträge: 2219
Registriert: 20.12.2001 19:42:56
Wohnort: München
Kontaktdaten:

Re: Sprachunabhängiges Script für virsh [geloest]

Beitrag von abi » 16.03.2023 20:22:58

Vielleicht hilft dir dieses Projekt weiter um Sicherungen von Virtuellen Maschinen auf libvirt basis zu erstellen, ohne die Notwendigkeit sie zu pausieren:

https://github.com/abbbi/virtnbdbackup

Siehe auch:

https://abbbi.github.io/debian/

Antworten