Hallo zusammen,
gibt es ein fertiges Skript oder zumindest einen Tipp, wie ich über die CLI mehrere Nodes löschen kann?
Zum Beispiel:
Ich habe 100 Nodes welche mit NO_VMPC_ beginnen und dahinter einen Zähler von 1-100 für den jeweiligen individuellen Node haben.
Nun muss ich also irgendwie eine Schleife bauen, welche NO_VMPC_* löscht.
Hat das schon jemand griffbereit?
Danke und Grüße,
Jan
Löschen mehrerer Nodes per CLI
Moderator: Securepoint
Moin Jan,
Das Script muss als 'root' per SSH ausgeführt werden. (Vorher noch per 'chmod +x' ausführbar machen)
Verwenden auf eigene Gefahr: (Vorher also Config sichern)
Gruß
Kenneth
Das Script muss als 'root' per SSH ausgeführt werden. (Vorher noch per 'chmod +x' ausführbar machen)
Verwenden auf eigene Gefahr: (Vorher also Config sichern)
Code: Alles auswählen
#!/bin/sh
spcli node delete name "NO_VMPC_1"
i=1
while [ "$i" -lt "101" ]; do
spcli node delete name "NO_VMPC_$i"
i=$(( ${i} + 1 ))
done
Kenneth
Hi Kenneth,
danke!
Ich hatte mich wohl ungeschickt ausgedrückt.
Es ging mir nicht ausschließlich um das Löschen auf Basis der numerischen Erweiterung, sondern auch um sonstige Netzwerkobjekte, deren Namen eine bestimmte Eigenschaft aufweist.
Was meinst Du dazu (etwas dirty, ja ;-) ):
Viele Grüße,
Jan
danke!
Ich hatte mich wohl ungeschickt ausgedrückt.
Es ging mir nicht ausschließlich um das Löschen auf Basis der numerischen Erweiterung, sondern auch um sonstige Netzwerkobjekte, deren Namen eine bestimmte Eigenschaft aufweist.
Was meinst Du dazu (etwas dirty, ja ;-) ):
Code: Alles auswählen
#Alle bestehenden Einträge mit $NOname löschen
count=1
while [ "$count" -gt 0 ]
do
echo "Pruefen auf Netzwerkobjekt mit String $NODELname"
var_nodeid=`spcli node get |grep "\<$NODELname.*\>" | sed 's/| /|/g' | sed 's/ |/|/g' | cut -d '|' -f 1`
if [ ! -z "$var_nodeid" ]
then echo "Netzwerkobjekt(e) zum Loeschen vorhanden"
spcli node delete id "$var_nodeid"
count=$(( $count + 1 ))
else echo "Keine Netzwerkobjekt(e) zum Loeschen vorhanden"
count=0
fi
done
Jan
Hallo Jan,
Würde ich in
ändern. Natürlich müsste dann der Prefix in $NODE_NAME enthalten sein. Mit dem "\<$NODELname.*\>" wäre ich sehr vorsichtig. Mit Pech löscht er Ihnen alle Objekte.
Des Weiteren macht es an sich keinen Sinn count um +1 zu erhöhen und dann wieder auf 0 zu setzen.
Dadurch wird die Schleife nur einmal ausgeführt
Gruß
Code: Alles auswählen
var_nodeid=`spcli node get |grep "\<$NODELname.*\>" | sed 's/| /|/g' | sed 's/ |/|/g' | cut -d '|' -f 1`
Code: Alles auswählen
var_nodeid=`spcli node get |grep "$NODE_NAME" | sed 's/| /|/g' | sed 's/ |/|/g' | cut -d '|' -f 1`
Des Weiteren macht es an sich keinen Sinn count um +1 zu erhöhen und dann wieder auf 0 zu setzen.
Dadurch wird die Schleife nur einmal ausgeführt
Gruß