Cisco – way to submit a batch of commands to a Cisco router and have them execute from the router

batchciscoconfigurationios

I need to change the configuration of a remote (6 hours' drive) client's Cisco 871 (IOS 12.4.15T) from my location because of some new internet service at his location. To be more precise, I need to change the default route, ip address of the outside interface (Fa4) and disable the PPPoE setup there. Unfortunately, doing any of this will (obviously) break the connection to the router. I do not have an out-of-band management modem set up (I know, I know).

Is there any way to enter the commands I need to have run and have them execute one after the other, from a file on flash:? I have never tried anything like that before. Essentially a DOS-style batch file is exactly what I need. Nothing like it seems to be out there except using kron to execute CLI commands, but that is specified here as only taking EXEC commands, not configuration ones. Is there hope, or do I travel?

Best Answer

I believe it's possible to copy a file from flash: to running-config, but I am not 100% sure. You may be better off copying the existing running-config to a known-good-startup, copying the config you want on top of startup-config, then reload the router (with, ideally, somneone on site who can be walked through a password-recovery-style recovery, should the new config be broken).

Alternatively, if the relevant config can be comfortably fit in a single TCP frame, you could write some code to issue a reload in 10 command, then a config t and finish off with all relevant config commands, separated by CR NL, in a single frame.

Edit: Then either log on to the router manually or send a second frame with enough commands in it to cancel the reload (the relevant IOS command is reload cancel).