The Power and Peril of the IOS Reload Command

Over the years, I have used the reload command for more than upgrading the IOS on a switch or router. The reload command has several parameters that you can pass to it.

The ‘reload in’ is one of my most favorite commands, but it is also a very dangerous one. This one command has saved me hours of downtime, frustration, and embarrassment. It has also caused me downtime, frustration, and embarrassment. Typically when I am making a change to a device that is remote to me, I save the configuration and then issue the ‘reload in 5′ command from privilege mode before I start making my changes. This gives me 5 minutes to complete my changes before the device automatically reboots.

If I had made changes to the configuration before issuing the reload and did not save them, then it prompts me to save the changes first. Isn’t that nice? After confirming the reload a warning message is displayed to all of the users currently connected to that device. Older versions of IOS do not always do this.

So, now I am ready to start making my changes. If I make a change that disconnects me and I am not able to reconnect, then in 5 minutes the device reboots and loads the configuration from before I broke it.

A nice feature of this process is that I get a warning message when the counter reaches one minute. This gives me a reminder to either finish my changes or restart the reload timer.

When I have completed my changes and still have connectivity to the device, I get a feeling of a job well done and stop the reload process. This is done with the ‘reload cancel’ command in privilege mode.

I then get a message that the reload process has been aborted.

So what if I want to know how much time is remaining or if I am not really sure that I canceled the reload? Easy – I use the ‘show reload’ privilege mode command.

The output tells me how much time is remaining and at what time the reload will happen. I will also see what account issued the reload.

This is great and all, but I have to warn you about my issue with this command. The three main parameters are ‘in’, ‘at’, and ‘cancel’. There is another parameter that gets overlooked and can be a problem. If you look carefully at the options you will see one that says ‘LINE’.

This is great if I want to document the reason why I am reloading. But what happens if I forget to use the ‘in’ keyword and instead type ‘reload 5′?

I get a confirmation prompt to confirm my command. After the command is confirmed, the prompt doesn’t return. The session is not responding. What happened? Take another look at the ‘LINE’ parameter. Yep, the ’5′ I entered is a comment, not the amount of time I want to wait to reload the device. I wish Cisco had required a parameter line ‘remark’ to insert a comment, but they didn’t. We have to live with it. So use ‘reload’ wisely and be careful, especially during production hours.

 

About Charles Galler

Charles is a network and UC engineer for a mainly Cisco reseller. He has worked in the networking industry for about 12 years. He started as a network administrator for a small CLEC (carrier) where he did it all in IT and worked on the carrier network. After the CLEC, Charles went to work for a large healthcare organization in the Houston area and stayed with them for about three and a half years. Now he works for a reseller in the professional services part of the organization. He is currently studying for his CCIE in Routing and Switching and plans on passing it before the end of 2012. You can find him on the Twitter @twidfeki.

  • Don

    Nice post. very useful command I have used many times sometimes forgeting to issue the reload cancel command. or typing reload cacnel and rebooting the router
    didn’t know about the show command
    thanks

    • Charles Galler

       I like to do a ‘show reload’ one more time just before I exiting the device to ensure I canceled it.

  • http://twitter.com/xavierds Xavier Delcour

    I just began my career a few years ago and when I was studying for the CCNA, I was testing some commands on a backbone router in the company I was working for. I discovered also this day “the line” issue…
    Now is a funny story but that day I was really, really ashamed.

  • http://twitter.com/jschrein jschrein

    Great post!

  • Marek

    On my 2851 (Version 15.1(3)T3) there is no “LINE” parameter, instead there is a “reason” 

    R8#reload ?  /noverify  Don’t verify file signature before reload.  /verify    Verify file signature before reload.  at         Reload at a specific time/date  cancel     Cancel pending reload  in         Reload after a time interval  reason     Reload reason  warm       Reload should be warm  R8#reload reR8#reload reason ?Please enter reload reason

    Marek

    • Charles Galelr

      Glad to see they fixed it in 15, but they still need to fix it in 12.

    • Charles Galler

      Worked on a Catalyst 4500 today running Version 15.1(1)SG and it is still LINE for the comment, no keyword. So it looks like it is very inconsistent.

  • http://twitter.com/hnyhus Håvard Staub Nyhus

     A better way to go about this would be to use config revert

    First put in some basic archive commands:
      archive
      path disk0:/configs
    (you only need a path for this to work, other useful things under here would be “write-memory and “log config”)

    Now use “configure terminal revert time 2″. The router will put a config rollback in place and revert to it after 2 minutes.

    To confirm your changes if you actually want to keep them: config confirm

    This means you don’t have to wait for your router to reboot if you should lose connectivity while configuring it.

    • Charles Galler

       Thanks for the heads up on that feature. I had not heard about it before. I like it much better than doing the reboot.