Netupdate
From NippAero
Netupdate script to push a configuration from a TFTP server to a router and merge the configuration with the running configuration. This script was originally written by Leon and we have modified it over time with additional enhancements.
#!/bin/sh ## SNMP PULLING NEW CONFIGURATIONS MERGING WITH RUN ## ## #snmpset -v 1 -c private <device name> ccCopyProtocol.<random number> integer 1 #ccCopySourceFileType.<Random number> integer 1 #ccCopyDestFileType.<Random number> integer 3 #ccCopyServerAddress.<Random number> ipaddress "<server ip address>" #ccCopyFileName. <Random number> octetstring "<file name>" #ccCopyEntryRowStatus.<Random number> integer 4 ## ##################################################################### #SET COMMAND LINE ARGS host=$1 filecommandline=$2 if [ "$host" = "" ] || [ "$filecommandline" = "" ] then clear tput cup 24 18; echo "USAGE $0 <host or ip> <filename> " tput cup 26 18; echo -------------------------------------- tput cup 28 18; echo "(Enter full path if not in /tftpboot (eg ENTER \"CONFIG/filename\" for a file in \"/tftpboot/CONFIG/filename\")" exit else echo "" >/dev/null fi #SET THE TFTP SERVER IP ADDRESS HERE TFTPSERVER="10.10.10.25" RandomNumber="$RANDOM" FileName="$2" if [ -f "/tftpboot/$FileName" ] then echo "$FileName is a file" else echo "$FileName is not a file" exit fi ####################### BEGIN PUSHING FILE TO RUN ##################################### for i in $1 do snmpset -c private -v 1 $i 1.3.6.1.4.1.9.9.96.1.1.1.1.14.$RandomNumber integer 5 snmpset -c private -v 1 $i 1.3.6.1.4.1.9.9.96.1.1.1.1.3.$RandomNumber integer 1 snmpset -c private -v 1 $i 1.3.6.1.4.1.9.9.96.1.1.1.1.2.$RandomNumber integer 1 snmpset -c private -v 1 $i 1.3.6.1.4.1.9.9.96.1.1.1.1.4.$RandomNumber integer 4 snmpset -c private -v 1 $i 1.3.6.1.4.1.9.9.96.1.1.1.1.5.$RandomNumber a $TFTPSERVER snmpset -c private -v 1 $i 1.3.6.1.4.1.9.9.96.1.1.1.1.6.$RandomNumber string "$FileName" snmpset -c private -v 1 $i 1.3.6.1.4.1.9.9.96.1.1.1.1.14.$RandomNumber integer 1 done #######################BEGIN COPY RUN TO START ########################################## SaveNumber="$RANDOM" for i in $1 do #ccCopySourceFileType "runningConfig" snmpset -c private -v 1 $i .1.3.6.1.4.1.9.9.96.1.1.1.1.3.$SaveNumber integer 4 #ccCopyDestFileType - "startupConfig" snmpset -c private -v 1 $i .1.3.6.1.4.1.9.9.96.1.1.1.1.4.$SaveNumber integer 3 #ccCopyEntryRowStatus - execute save snmpset -c private -v 1 $i .1.3.6.1.4.1.9.9.96.1.1.1.1.14.$SaveNumber integer 1 #---------------------------- CHECK STATUS ---------------------------------------------- # Check Status 3:successful while [ `snmpget -c private -v 1 $i .1.3.6.1.4.1.9.9.96.1.1.1.1.10.$SaveNumber |grep "INTEGER: 3"|wc -l` -ne 1 ] do echo "Saving Configuration" echo "..............................." sleep 1 done done
Categories: SNMP | Shell
