<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Archive - Tag - Fryguy's Blog</title><link>https://hugo.fryguy.net/tags/archive/</link><description>Archive - Tag - Fryguy's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 06 Jun 2011 08:15:36 +0000</lastBuildDate><atom:link href="https://hugo.fryguy.net/tags/archive/" rel="self" type="application/rss+xml"/><item><title>Cisco Archive and Configure</title><link>https://hugo.fryguy.net/2011/06/06/cisco-archive-and-configure/</link><pubDate>Mon, 06 Jun 2011 08:15:36 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2011/06/06/cisco-archive-and-configure/</guid><description><![CDATA[<p style="text-align: center;">
  <a href="/?p=1069"></a>
</p>
<p>There has been some interesting discussions on configuration differences with IOS and JUNOS on Twitter the past few days.  One of the biggest things has been the inclusion of a Rollback command in JUNOS; and to be perfectly honest, that has to be one of the best commands that JUNOS has!<br>
In case you are not familiar with it, in JUNOS if you submit a change and then enter <em>commit confirm (default 10 minutes)</em>, the router will not “save” the configuration change until you <em>commit</em> the change again.  This way if you make a change, lock yourself out of the device, it will revert to the previous configuration and you should have your access back.<br>
<em>(some housekeeping)</em><br>
<span style="color: #ff0000;"><strong>Router/Switch Output</strong></span><br>
<span style="color: #0000ff;"><strong> Commands</strong></span><br>
<span style="color: #339966;"><strong> Notes<br /> </strong></span><br>
<span style="color: #ff0000;">[edit]<br /> user@host# </span><span style="color: #0000ff;">commit confirmed</span><br>
<span style="color: #ff0000;">commit confirmed will be automatically rolled back in 10 minutes unless confirmed</span><br>
<span style="color: #ff0000;">commit complete</span><br>
<span style="color: #ff0000;">#commit confirmed will be rolled back in 10 minutes</span><br>
<span style="color: #ff0000;"><span style="color: #339966;">By entering commit again, the change will become permenant</span><br /> [edit]</span><br>
<span style="color: #ff0000;">user@host# </span><span style="color: #0000ff;">commit<br /> </span><br>
Now, what about IOS?  Well, typically we do the <em>reload in x</em> command before we make a change, but is there another way?  Well, yes there is!  We have the <em>archive</em> command and the <em>config replace</em> command string that will perform a similar function to to the JUNOS command and less drastic then the <em>reload in</em> command.<br>
So, lets first cover the <em>archive</em> command.<br>
The <em>archive</em> command allows you to make an archive of the config either over a time-period (say 1440 minutes) or when the <em>write-memory</em> command is initiated.  The archive can be stored in flash, tftp, ftp, or a few other places. To setup archiving:<br>
<span style="color: #ff0000;">Rack1R2#</span><span style="color: #0000ff;">conf t</span><br>
<span style="color: #ff0000;">Enter configuration commands, one per line.  End with CNTL/Z.</span><br>
<span style="color: #339966;">To enter the archive config, enter the archive command</span><br>
<span style="color: #ff0000;">Rack1R2(config)#<span style="color: #0000ff;">archive</span></span><br>
<span style="color: #339966;">From there, you need to tell it 1) where to store the file and 2) what to call it.</span><br>
<span style="color: #339966;">Here it will be flash:/archive with a name of Rollback</span><br>
<span style="color: #ff0000;">Rack1R2(config-archive)#<span style="color: #0000ff;">path flash:/archive/Rollback</span></span><br>
<span style="color: #339966;">Here I tell it to archive the previous config whenever the write-memory command is executed</span><br>
<span style="color: #ff0000;">Rack1R2(config-archive)#<span style="color: #0000ff;">write-memory</span></span><br>
<span style="color: #339966;">Also, I might as well make sure that we back it up once a day at a minimum.  Range is from 1 minute to 525600 minutes (1 year)</span><br>
<span style="color: #ff0000;">Rack1R2(config-archive)#<span style="color: #0000ff;">time-period ?</span></span><br>
<span style="color: #ff0000;">&lt;1-525600&gt;  Number of minutes to wait between archive creation</span><br>
<span style="color: #ff0000;">Rack1R2(config-archive)#<span style="color: #0000ff;">time-period 1440</span></span><br>
<span style="color: #ff0000;">Rack1R2(config-archive)#</span><br>
Now, if we look at the flash:/archive/ folder, what will we see?  Lets look (I already have some saved in memory)<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">dir flash:archive</span></span><br>
<span style="color: #ff0000;">Directory of flash:/archive/</span><br>
<span style="color: #ff0000;">17  -rw-        1806   Jun 3 2011 19:34:16 +00:00  Rollback-2</span><br>
<span style="color: #ff0000;">18  -rw-        1806   Jun 3 2011 19:35:02 +00:00  Rollback-3</span><br>
<span style="color: #ff0000;">16  -rw-        1744   Jun 3 2011 19:31:54 +00:00  Rollback-1</span><br>
<span style="color: #ff0000;">512057344 bytes total (328622080 bytes free)</span><br>
<span style="color: #ff0000;">Rack1R2#</span><br>
As you can see, we have a few files there, each appended with a number (call it revision with highest being most recent). To check, use the show archive command<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">show archive</span></span><br>
<span style="color: #ff0000;">There are currently 4 archive configurations saved.</span><br>
<span style="color: #ff0000;">The next archive file will be named flash:/archive/Rollback-4</span><br>
<span style="color: #ff0000;">Archive #  Name</span><br>
<span style="color: #ff0000;"></span><br>
<span style="color: #ff0000;">1       flash:/archive/Rollback-1</span><br>
<span style="color: #ff0000;">2       flash:/archive/Rollback-2</span><br>
<span style="color: #ff0000;">3       flash:/archive/Rollback-3 &lt;- Most Recent</span><br>
<span style="color: #ff0000;">4</span><br>
<span style="color: #ff0000;">5</span><br>
<span style="color: #ff0000;">6</span><br>
<span style="color: #ff0000;">7</span><br>
<span style="color: #ff0000;">8</span><br>
<span style="color: #ff0000;">9</span><br>
<span style="color: #ff0000;">10</span><br>
<span style="color: #ff0000;">11</span><br>
<span style="color: #ff0000;">12</span><br>
<span style="color: #ff0000;">13</span><br>
<span style="color: #ff0000;">14</span><br>
<span style="color: #ff0000;">Rack1R2#</span><br>
So, what does all this mean and how does this relate to the commit confirm command in Junos?  Good question!  Here we go!<br>
So, when you need to do a change, just execute the <em>archive config</em> command prior to the change.  That will create a snapshot of the existing config in the archive directory.<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">archive config</span></span><br>
<span style="color: #ff0000;"></span><br>
Lets take a look and see what revision we have saved:<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">show archive</span></span><br>
<span style="color: #ff0000;">There are currently 5 archive configurations saved.</span><br>
<span style="color: #ff0000;">The next archive file will be named flash:/archive/Rollback-5</span><br>
<span style="color: #ff0000;">Archive #  Name</span><br>
<span style="color: #ff0000;"></span><br>
<span style="color: #ff0000;">1       flash:/archive/Rollback-1</span><br>
<span style="color: #ff0000;">2       flash:/archive/Rollback-2</span><br>
<span style="color: #ff0000;">3       flash:/archive/Rollback-3</span><br>
<span style="color: #ff0000;">4       flash:/archive/Rollback-4 &lt;- Most Recent</span><br>
<span style="color: #ff0000;">5</span><br>
<span style="color: #ff0000;">6</span><br>
<span style="color: #ff0000;">7</span><br>
<span style="color: #ff0000;">8</span><br>
<span style="color: #ff0000;">9</span><br>
<span style="color: #ff0000;">10</span><br>
<span style="color: #ff0000;">11</span><br>
<span style="color: #ff0000;">12</span><br>
<span style="color: #ff0000;">13</span><br>
<span style="color: #ff0000;">14</span><br>
<span style="color: #ff0000;">Rack1R2#</span><br>
Now, there is another command that we need to know about – its the <em>configure replace</em> command!  We can use that similar to the commit confirm command because of the archive command.<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">configure replace flash:archive/Rollback-4 time 60</span></span><br>
That is all good – lets test the command!<br>
 <br>
I have R1 and R2 configured like the diagram below, connected via Frame-Relay and all interfaces are in RIPv2<br>
<a href="/wp-content/uploads/2011/06/Archive_Diagram_rev1.jpg" rel=""></a><br>
Here is the routing table and interface status on R2:<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">sh ip route</span></span><br>
<span style="color: #ff0000;">Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP</span><br>
<span style="color: #ff0000;">D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area</span><br>
<span style="color: #ff0000;">N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2</span><br>
<span style="color: #ff0000;">E1 – OSPF external type 1, E2 – OSPF external type 2</span><br>
<span style="color: #ff0000;">i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2</span><br>
<span style="color: #ff0000;">ia – IS-IS inter area, * – candidate default, U – per-user static route</span><br>
<span style="color: #ff0000;">o – ODR, P – periodic downloaded static route</span><br>
<span style="color: #ff0000;">Gateway of last resort is not set</span><br>
<span style="color: #ff0000;">150.1.0.0/16 is variably subnetted, 4 subnets, 2 masks</span><br>
<span style="color: #ff0000;">R       150.1.1.1/32 [120/1] via 150.1.12.1, 00:00:23, Serial4/0.1</span><br>
<span style="color: #ff0000;">C       150.1.12.0/24 is directly connected, Serial4/0.1</span><br>
<span style="color: #ff0000;">R       150.1.11.0/24 [120/1] via 150.1.12.1, 00:00:23, Serial4/0.1</span><br>
<span style="color: #ff0000;">R       150.1.111.1/32 [120/1] via 150.1.12.1, 00:00:23, Serial4/0.1</span><br>
<span style="color: #ff0000;">150.2.0.0/32 is subnetted, 3 subnets</span><br>
<span style="color: #ff0000;">C       150.2.222.2 is directly connected, Loopback2</span><br>
<span style="color: #ff0000;">C       150.2.22.2 is directly connected, Loopback1</span><br>
<span style="color: #ff0000;">C       150.2.2.2 is directly connected, Loopback0</span><br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">sh ip int br | ex un</span></span><br>
<span style="color: #ff0000;">Interface                  IP-Address      OK? Method Status                Protocol</span><br>
<span style="color: #ff0000;">Serial4/0.1                150.1.12.2      YES manual up                    up</span><br>
<span style="color: #ff0000;">Loopback0                  150.2.2.2       YES manual up                    up</span><br>
<span style="color: #ff0000;">Loopback1                  150.2.22.2      YES manual up                    up</span><br>
<span style="color: #ff0000;">Loopback2                  150.2.222.2     YES manual up                    up</span><br>
<span style="color: #ff0000;">Rack1R2#</span><br>
Here is the same information for R1<br>
<span style="color: #ff0000;">Rack1R1#<span style="color: #0000ff;">sh ip route</span></span><br>
<span style="color: #ff0000;">Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP</span><br>
<span style="color: #ff0000;">D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area</span><br>
<span style="color: #ff0000;">N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2</span><br>
<span style="color: #ff0000;">E1 – OSPF external type 1, E2 – OSPF external type 2</span><br>
<span style="color: #ff0000;">i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2</span><br>
<span style="color: #ff0000;">ia – IS-IS inter area, * – candidate default, U – per-user static route</span><br>
<span style="color: #ff0000;">o – ODR, P – periodic downloaded static route</span><br>
<span style="color: #ff0000;">Gateway of last resort is not set</span><br>
<span style="color: #ff0000;">150.1.0.0/16 is variably subnetted, 4 subnets, 2 masks</span><br>
<span style="color: #ff0000;">C       150.1.1.1/32 is directly connected, Loopback0</span><br>
<span style="color: #ff0000;">C       150.1.12.0/24 is directly connected, Serial4/0.1</span><br>
<span style="color: #ff0000;">C       150.1.11.0/24 is directly connected, Loopback1</span><br>
<span style="color: #ff0000;">C       150.1.111.1/32 is directly connected, Loopback2</span><br>
<span style="color: #ff0000;">150.2.0.0/32 is subnetted, 3 subnets</span><br>
<span style="color: #ff0000;">R       150.2.222.2 [120/1] via 150.1.12.2, 00:00:12, Serial4/0.1</span><br>
<span style="color: #ff0000;">R       150.2.22.2 [120/1] via 150.1.12.2, 00:00:12, Serial4/0.1</span><br>
<span style="color: #ff0000;">R       150.2.2.2 [120/1] via 150.1.12.2, 00:00:13, Serial4/0.1</span><br>
<span style="color: #ff0000;">Rack1R1#<span style="color: #0000ff;">sh ip int br | ex un</span></span><br>
<span style="color: #ff0000;">Interface                  IP-Address      OK? Method Status                Protocol</span><br>
<span style="color: #ff0000;">Serial4/0.1                150.1.12.1      YES manual up                    up</span><br>
<span style="color: #ff0000;">Loopback0                  150.1.1.1       YES manual up                    up</span><br>
<span style="color: #ff0000;">Loopback1                  150.1.11.1      YES manual up                    up</span><br>
<span style="color: #ff0000;">Loopback2                  150.1.111.1     YES manual up                    up</span><br>
<span style="color: #ff0000;">Rack1R1#</span><br>
Lets test the connectivity by PINGing R2 Loopback 2 from R1 Loopback2<br>
<span style="color: #ff0000;">Rack1R1#<span style="color: #0000ff;">ping 150.2.222.2 so lo2</span></span><br>
<span style="color: #ff0000;">Type escape sequence to abort.</span><br>
<span style="color: #ff0000;">Sending 5, 100-byte ICMP Echos to 150.2.222.2, timeout is 2 seconds:</span><br>
<span style="color: #ff0000;">Packet sent with a source address of 150.1.111.1</span><br>
<span style="color: #ff0000;">!!!!!</span><br>
<span style="color: #ff0000;">Success rate is 100 percent (5/5), round-trip min/avg/max = 56/57/60 ms</span><br>
<span style="color: #ff0000;">Rack1R1#</span><br>
Good, now lets test the config replace command (IOS Rollback)<br>
First, we will archive the config<br>
<span style="color: #0000ff;"><span style="color: #ff0000;">Rack1R2#</span>archive config</span><br>
Now lets see what archives we have:<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">sh archive</span></span><br>
<span style="color: #ff0000;">There are currently 6 archive configurations saved.</span><br>
<span style="color: #ff0000;">The next archive file will be named flash:/archive/Rollback-6</span><br>
<span style="color: #ff0000;">Archive #  Name</span><br>
<span style="color: #ff0000;"></span><br>
<span style="color: #ff0000;">1       flash:/archive/Rollback-1</span><br>
<span style="color: #ff0000;">2       flash:/archive/Rollback-2</span><br>
<span style="color: #ff0000;">3       flash:/archive/Rollback-3</span><br>
<span style="color: #ff0000;">4       flash:/archive/Rollback-4</span><br>
<span style="color: #ff0000;">5       flash:/archive/Rollback-5 &lt;- Most Recent<br /> <span style="color: #008000;">[– SNIP –]</span><br /> </span><br>
Ok, Rollback-5 is the most recent.<br>
Now on R1 we will start a 1000 packet ping<br>
<span style="color: #ff0000;">Rack1R1#<span style="color: #0000ff;">ping 150.2.222.2 so lo2 repeat 100</span></span><br>
<span style="color: #ff0000;">Type escape sequence to abort.</span><br>
<span style="color: #ff0000;">Sending 1000, 100-byte ICMP Echos to 150.2.222.2, timeout is 2 seconds:</span><br>
<span style="color: #ff0000;">Packet sent with a source address of 150.1.111.1</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
Now that we have that started, lets move on<br>
Now, on R2 we will execute the configure replace command, set the timer to 60 seconds, then shut down the Serial 4/0 (frame-relay) interface<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">configure replace flash:/archive/Rollback-5 time 60 </span></span><br>
<span style="color: #ff0000;">Timed Rollback: Backing up to flash:/archive/Rollback-7</span><br>
<span style="color: #ff0000;"><span style="color: #339966;">It will now ask you to make sure you want to do this – checks and balances</span><br /> This will apply all necessary additions and deletions</span><br>
<span style="color: #ff0000;">to replace the current running configuration with the</span><br>
<span style="color: #ff0000;">contents of the specified configuration file, which is</span><br>
<span style="color: #ff0000;">assumed to be a complete configuration, not a partial</span><br>
<span style="color: #ff0000;">configuration. Enter Y if you are sure you want to proceed. ? [no]: <strong><span style="color: #0000ff;">Y</span></strong></span><br>
<span style="color: #ff0000;">Total number of passes: 0</span><br>
<span style="color: #ff0000;">Rollback Done</span><br>
<span style="color: #ff0000;"></span><span style="color: #ff0000;">*Jun  3 21:43:22.026: Rollback:Acquired Configuration lock.</span><br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">conf t</span></span><br>
<span style="color: #ff0000;">Enter configuration commands, one per line.  End with CNTL/Z.</span><br>
<span style="color: #ff0000;">Rack1R2(config)#<span style="color: #0000ff;">int ser 4/0 </span></span><br>
<span style="color: #ff0000;">Rack1R2(config-if)#<span style="color: #0000ff;">shut</span></span><br>
<span style="color: #ff0000;">Rack1R2(config-if)#</span><br>
<span style="color: #ff0000;">*Jun  3 21:43:28.274: %LINK-5-CHANGED: Interface Serial4/0, changed state to administratively down</span><br>
<span style="color: #ff0000;">*Jun  3 21:43:29.274: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial4/0, changed state to down</span><br>
<span style="color: #ff0000;">Rack1R2(config-if)</span><br>
Hmm, if we look at the ping that we have going on R1 we see that it can no longer PING R2<br>
<span style="color: #ff0000;">Rack1R1#<span style="color: #0000ff;">ping 150.2.222.2 so lo2 repeat 1000</span></span><br>
<span style="color: #ff0000;">Type escape sequence to abort.</span><br>
<span style="color: #ff0000;">Sending 1000, 100-byte ICMP Echos to 150.2.222.2, timeout is 2 seconds:</span><br>
<span style="color: #ff0000;">Packet sent with a source address of 150.1.111.1</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!………………………….</span><br>
<span style="color: #ff0000;">……..</span><br>
Lets wait…. there, the config just rolled back on R2 and R1 can PING again!<br>
<span style="color: #ff0000;">Rack1R1#<span style="color: #0000ff;">ping 150.2.222.2 so lo2 repeat 1000</span></span><br>
<span style="color: #ff0000;">Type escape sequence to abort.</span><br>
<span style="color: #ff0000;">Sending 1000, 100-byte ICMP Echos to 150.2.222.2, timeout is 2 seconds:</span><br>
<span style="color: #ff0000;">Packet sent with a source address of 150.1.111.1</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!………………………….</span><br>
<span style="color: #ff0000;">…………………!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">!!!!!!!!!!!!!!!!!!!!</span><br>
<span style="color: #ff0000;">Success rate is 94 percent (948/1000), round-trip min/avg/max = 56/57/240 ms</span><br>
<span style="color: #ff0000;">Rack1R1#</span><br>
So what happened on R2?  Here is the output on the console:<br>
<span style="color: #ff0000;">Rack1R2(config-if)#Timed Rollback: rolling to:flash:/archive/Rollback-7</span><br>
<span style="color: #ff0000;">!Pass 1</span><br>
<span style="color: #339966;">Neat, it will show you the commands it is about to enter!</span><span style="color: #ff0000;"><br /> </span><br>
<span style="color: #ff0000;">!List of Commands:</span><br>
<span style="color: #ff0000;">interface Serial4/0</span><br>
<span style="color: #ff0000;">no shutdown</span><br>
<span style="color: #ff0000;">end</span><br>
<span style="color: #ff0000;">Total number of passes: 1</span><br>
<span style="color: #ff0000;">Rollback Done</span><br>
<span style="color: #ff0000;">*Jun  3 21:44:22.218: Rollback:Acquired Configuration lock.</span><br>
<span style="color: #ff0000;">Rack1R2(config-if)#</span><br>
<span style="color: #ff0000;">*Jun  3 21:44:22.778: %PARSER-3-CONFIGNOTLOCKED: Unlock requested by process ’21’. Configuration not locked.</span><br>
<span style="color: #ff0000;">Rack1R2(config-if)#</span><br>
<span style="color: #ff0000;">*Jun  3 21:44:24.586: %LINK-3-UPDOWN: Interface Serial4/0, changed state to up</span><br>
<span style="color: #ff0000;">*Jun  3 21:44:25.586: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial4/0, changed state to up</span><br>
<span style="color: #ff0000;">Rack1R2(config-if)#</span><br>
If all is good after your change and you need to not roll-back, just issue the command <em>configure confirm</em> and it will cancel the rollback._<br>
_<br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">configure confirm</span></span><br>
 <br>
<span style="color: #000000;">If you already issued that command, you will get the following output:</span><br>
<span style="color: #ff0000;">Rack1R2#<span style="color: #0000ff;">configure confirm </span></span><br>
<span style="color: #ff0000;">%No timed rollback pending</span><br>
<span style="color: #ff0000;">Rack1R2#</span><br>
Not as simple as the JUNOS commands, but is still valuable in the IOS world!<br>
 <br>
<a href="http://dl.dropbox.com/u/5753029/Archive%20Blog/R1_Archive.txt" target="_blank" rel="noopener noreffer ">R1 Config Here</a><br>
<a href="http://dl.dropbox.com/u/5753029/Archive%20Blog/R2_Archive.txt" target="_blank" rel="noopener noreffer ">R2 Config Here</a><br>
 </p>]]></description></item></channel></rss>