Replace a running config without reloading!

The new Cisco IOS 12.4 train has many new features that any engineer will find useful; one of the features that fix a pain point for me is the new config options available in 12.4. Have you ever been in a situation where an entered configuration does not work as expected? Now usually you have to back out the configuration one command at a time and hope for the best. Sometimes you may even reach a point where you can not completely remove a configuration without reloading the device, this is the case sometimes when trying to remove sub interfaces. Now if this is a datacenter or work environment then you may not be able to reload the router.
 


It is for situations just like these that Cisco changed the configure command. If you have ever used the copy startup-config running-config command you know that this command does not replace what is running but instead merges the two configurations which often times will create a bigger mess.
Cisco has added the “configure replace” command. This command will go through the configuration line by line and replace your configuration with the configuration you specify and it will go through the config as many times as it takes to back out all of the differences and replace them with the file specified. The amazing thing about this command is that it does not interrupt the operation of the router, so you can rollback changes without affecting business continuity.
Here is an excerpt from my router running the command to replace the running configuration with the startup configuration:

 

 

Lord_Yu# configure replace ?
  archive:  URL of config file that will replace running-config
  cns:      URL of config file that will replace running-config
  flash:    URL of config file that will replace running-config
  ftp:      URL of config file that will replace running-config
  http:     URL of config file that will replace running-config
  https:    URL of config file that will replace running-config
  null:     URL of config file that will replace running-config
  nvram:    URL of config file that will replace running-config
  pram:     URL of config file that will replace running-config
  rcp:      URL of config file that will replace running-config
  scp:      URL of config file that will replace running-config
  snmp:     URL of config file that will replace running-config
  system:   URL of config file that will replace running-config
  tftp:     URL of config file that will replace running-config
  xmodem:   URL of config file that will replace running-config
  ymodem:   URL of config file that will replace running-config

Lord_Yu# configure replace nv
Lord_Yu# configure replace nvram:?
nvram:ifIndex-table   nvram:persistent-data  nvram:private-config
nvram:startup-config

Lord_Yu# configure replace nvram:sta
Lord_Yu# configure replace nvram:startup-config ?
  force       Forcibly replace without prompting for user input
  ignorecase  Ignore case
  list        List the commands applied in each pass
  time        Time for which to wait for confirmation

Lord_Yu# configure replace nvram:startup-config
This will apply all necessary additions and deletions
to replace the current running configuration with the
contents of the specified configuration file, which is
assumed to be a complete configuration, not a partial
configuration. Enter Y if you are sure you want to proceed. ? [no]: y
Total number of passes: 0
Rollback Done

Tags: , , ,

Leave a Reply

You must be logged in to post a comment.

Categories
Support Our site