delete-nodeis a general script for deleting any node you desire (users, groups, hosts, UPSes, etc.) from the command line. The script deletes the specified node and shuffles the remainder of the node values.

For example, if we have five users configured and we use the script to delete user 3, then user 4 will become user 3, and user 5 will become user 4.

This creates an obvious complication because this script does NOT check for any other dependencies that the node being deleted may have. You are responsible for making sure that any references and dependencies connected to the deleted node are removed or corrected in the config.xml file.

The script treats all nodes the same. The syntax to run the script is # ./delete-node {node name}. To remove user 3:

# ./delete-node config.users.user3

The delete-node script

#!/bin/bash

#User must provide the node to be removed. e.g. "config.users.user1"

# Usage: delete-node {full node path}

if [ $# != 1 ] then

echo "Wrong number of arguments"

echo "Usage: delnode {full '.' delimited node path}" exit 2

fi

# test for spaces

TEMP=`echo "$1" sed 's/.* .*/N/'` if [ "$TEMP" = "N" ]

then

echo "Wrong input format"

echo "Usage: delnode {full '.' delimited node path}" exit 2

fi

#testing if node exists TEMP=`config -g config grep "$1"` if [ -z "$TEMP" ]

then

echo "Node $1 not found" exit 0

fi

#LASTFIELD is the last field in the node path e.g. "user1"

#ROOTNODE is the upper level of the node e.g. "config.users"

#NUMBER is the integer value extracted from LASTFIELD e.g. "1"

#TOTALNODE is the node name for the total e.g. "config.users.total"

#TOTAL is the value of the total number of items before deleting e.g. "3"

#NEWTOTAL is the modified total i.e. TOTAL-1

#CHECKTOTAL checks if TOTAL is the actual total items in .xml

LASTFIELD=${1##*.}

ROOTNODE=${1%.*}

_____________________________________________________________________

724-746-5500 blackbox.com

Page 239

Page 239
Image 239
Black Box LES1408A, LES1332A, LES144BA, LES1416A, LES1348A, LES1432A # ./delete-node config.users.user3, Delete-node script