This script copies the environment of a node into a local folder
The environment is defined by the file_list.json file.

file namepath
datadev.ko/usr/local/sbin/
kcuSim
/usr/local/sbin/
kcuStatus/usr/local/sbin/
kcu.service
/usr/lib/systemd/system/
tdetsim.service/usr/lib/systemd/system
sysctl.conf
/etc/

The files are stored in directories that are sorted by the node type. In each node type directory there is a directory with the drp name.

How to run

The script is run by using clush from drp-neh-ctl002:

clush --mode sudo -w drp_srcf_cmp0[01-30] "$PATH_SCRIPTS/node_backup.sh"
 

#!/bin/bash
HOST=$(hostname)
PATH_SCRIPTS=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
 echo "You are running the script from $HOST"    
if [[ "$HOST" == *"srcf"* ]]; then
  HOST_LABEL='srcf'
  echo "This is the SRCF system"
elif [[ "$HOST" == *"neh"* ]]; then
  HOST_LABEL='neh'
  echo "This is the FEE system"
else
  HOST_LABEL=''
  echo "System not recognized, please use the script from neh or srcf"
fi

NODE_LABEL1=$(cat /proc/datadev_0 | grep 'Build String' | cut -d ' ' -f 13)
NODE_LABEL=${NODE_LABEL1::-1}

if [ ! -d "$PATH_SCRIPTS/DEFAULTS" ]; then
  mkdir "$PATH_SCRIPTS/DEFAULTS"
fi

if [ ! -d "$PATH_SCRIPTS/DEFAULTS/$HOST_LABEL" ]; then
  mkdir "$PATH_SCRIPTS/DEFAULTS/$HOST_LABEL"
fi
if [ ! -d "$PATH_SCRIPTS/DEFAULTS/$HOST_LABEL/$NODE_LABEL/$HOST" ]; then
  mkdir "$PATH_SCRIPTS/DEFAULTS/$HOST_LABEL/$NODE_LABEL/$HOST"
fi

if [ ! -d "$PATH_SCRIPTS/DEFAULTS/$HOST_LABEL/$NODE_LABEL" ]; then
  mkdir "$PATH_SCRIPTS/DEFAULTS/$HOST_LABEL/$NODE_LABEL"
fi

echo "COPYING DEFAULT VALUES FROM $HOST"
input="$PATH_SCRIPTS/file_list.json"
count=$(jq '.driver | length' "$input")

for ((i=0; i<$count; i++)); do
    
    VARIABLE=$(jq -r .driver["$i"].driver_name "$input")
    BACKUP_FOLDER=$(jq -r .driver["$i"].install_path "$input")
    ACTIVE=$(jq -r .driver["$i"].active "$input")
  echo "$HOST_LABEL $NODE_LABEL $HOST"
  cp "$BACKUP_FOLDER$VARIABLE" "$PATH_SCRIPTS/DEFAULTS/$HOST_LABEL/$NODE_LABEL/$HOST/"
done < "$input"



  • No labels