Securepoint Security Solutions Support Forum

Moderator: Securepoint

 
csg
Themen-Autor
Beiträge: 169
Registriert: Di 08.03.2011, 10:55
Kontaktdaten:

Löschen mehrerer Nodes per CLI

Mo 28.10.2019, 11:49

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
 
kennethj
Beiträge: 276
Registriert: Di 25.04.2017, 10:17

Re: Löschen mehrerer Nodes per CLI

Mo 28.10.2019, 12:44

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) 

#!/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


Gruß

Kenneth
 
csg
Themen-Autor
Beiträge: 169
Registriert: Di 08.03.2011, 10:55
Kontaktdaten:

Re: Löschen mehrerer Nodes per CLI

Mo 28.10.2019, 14:53

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 ;-) ):
#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


Viele Grüße,
Jan
 
kennethj
Beiträge: 276
Registriert: Di 25.04.2017, 10:17

Re: Löschen mehrerer Nodes per CLI

Di 29.10.2019, 15:20

Hallo Jan,

var_nodeid=`spcli node get |grep "\<$NODELname.*\>" | sed 's/| /|/g' | sed 's/ |/|/g' | cut -d '|' -f 1`


Würde ich in
var_nodeid=`spcli node get |grep "$NODE_NAME" | sed 's/| /|/g' | sed 's/ |/|/g' | cut -d '|' -f 1`


ä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ß

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast