<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Courier New";
        panose-1:2 7 3 9 2 2 5 2 4 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Menlo;
        panose-1:2 11 6 9 3 8 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Times New Roman",serif;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
p.p1, li.p1, div.p1
        {mso-style-name:p1;
        margin:0in;
        margin-bottom:.0001pt;
        background:white;
        font-size:13.5pt;
        font-family:"Menlo",sans-serif;
        color:black;}
p.p2, li.p2, div.p2
        {mso-style-name:p2;
        margin:0in;
        margin-bottom:.0001pt;
        background:white;
        font-size:13.5pt;
        font-family:"Menlo",sans-serif;
        color:black;}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.s1
        {mso-style-name:s1;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">My predecessor created a small script for changing a device’s name in router.db; we change the device name occasionally (for example when we find a device with a type-o in the name compared against our standard), but we want to keep the
 change history in one place in CVS.  Copying here, in case you find it useful.<o:p></o:p></p>
<p class="MsoNormal">Weylin<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">[rancid@nsgv-prod-59 usrdir]$ cat rename-node.sh</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> </span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">#!/bin/bash</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt"># Uncomment this for extended logging</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt"># DEBUG=1</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">NumParms=$#</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">ORIGHOST=$1</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">NEWHOST=$2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">GROUP=$3</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">function ShowHelpText () {</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "$0 <original device name> <new device name> <rancid group> [options]"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "Available Options:"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">-d, --debug</span></span><span class="apple-tab-span"><span style="font-size:10.0pt">  
</span></span><span class="s1"><span style="font-size:10.0pt">Set the internal debug flag"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">-h, --help</span></span><span class="apple-tab-span"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">Show this text, then exit"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "-h and --help may come in any position.</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">All other options MUST"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "be listed at the end of the command.</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">If they are listed in one"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "of the first three positions, they will be treated as parameters"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "as indicated."</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "Please note that the contents will not be affected.</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">So, for example,"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "if this rename is being performed for maintenance purposes but the"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "device configuration is not also changing, no record will be kept"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "in rancid of this change."</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">}</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt"># if any position parameter equals either -h or --help</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">while [ $1 ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">do</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">if [ $1 = -h -o $1 = --help ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">ShowHelpText</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">elif [ $1 = -d -o $1 = --debug ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">DEBUG=1</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">NumParms=$[$NumParms-1]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">shift</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">done</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $NumParms -gt 3 ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt"># only got here if -h or --help was not specified</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">ShowHelpText >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo Too many parameters passed. Exiting. >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ ! `whoami` = "rancid" ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo Must be run as user rancid</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $ORIGHOST ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo -n ""</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">else</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">ShowHelpText >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "*Error: Missing original device name" >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $NEWHOST ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo -n ""</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">else</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">ShowHelpText >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "*Error: Missing new device name" >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $GROUP ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo -n ""</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">else</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">ShowHelpText >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "*Error: Missing rancid group" >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">ORIGHOST=`echo $ORIGHOST | /usr/bin/awk '{print tolower($0)}'`</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">NEWHOST=`echo $NEWHOST | /usr/bin/awk '{print tolower($0)}'`</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">cd /usr/local/rancid/var</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ ! -f $GROUP/router.db ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo Error: $GROUP/router.db does not exist. >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ ! -f $GROUP/configs/$ORIGHOST ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo Error: $GROUP/configs/$ORIGHOST does not exist. >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ ! -f CVS/$GROUP/configs/$ORIGHOST,v ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo Error: CVS/$GROUP/configs/$ORIGHOST,v does not exist - CVS error!!!. >&2</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $DEBUG ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "Renaming $ORIGHOST as $NEWHOST in $GROUP"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">cd /usr/local/rancid/var</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt"># TYPEANDSTATE=`grep -i '^$ORIGHOST;' $GROUP/router.db | sed 's/^$ORIGHOST;//'`</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">TYPEANDSTATE=`grep -i "^$ORIGHOST;" $GROUP/router.db | sed "s/^$ORIGHOST;//"`</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $TYPEANDSTATE ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "</span></span><span class="apple-tab-span"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">Found $ORIGHOST in $GROUP"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">else</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "</span></span><span class="apple-tab-span"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">$ORIGHOST not found in $GROUP"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $DEBUG ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "</span></span><span class="apple-tab-span"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">Renaming $ORIGHOST as $NEWHOST in $GROUP group file with type and state $TYPEANDSTATE"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt"># removing old</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">grep -v "^$ORIGHOST;" $GROUP/router.db > /tmp/$GROUP-router.db</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">mv -f /tmp/$GROUP-router.db $GROUP/router.db || exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt"># adding new</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">echo "$NEWHOST;$TYPEANDSTATE" >> $GROUP/router.db</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> </span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">/bin/sort -u $GROUP/router.db | /usr/bin/awk '{print tolower($0)}' > /tmp/$GROUP-router.db</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">mv -f /tmp/$GROUP-router.db $GROUP/router.db</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $DEBUG ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "</span></span><span class="apple-tab-span"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">Moving Configuration and CVS archive to new name"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> </span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">mv -f CVS/$GROUP/configs/$ORIGHOST,v CVS/$GROUP/configs/$NEWHOST,v</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> </span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">mv -f $GROUP/configs/$ORIGHOST $GROUP/configs/$NEWHOST</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $DEBUG ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "</span></span><span class="apple-tab-span"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">Validating CVS synchronization"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> </span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">cd $GROUP/configs</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">cvs update</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">if [ $DEBUG ]</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">then</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo "</span></span><span class="apple-tab-span"><span style="font-size:10.0pt">   
</span></span><span class="s1"><span style="font-size:10.0pt">Move complete"</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="apple-converted-space"><span style="font-size:10.0pt"> 
</span></span><span class="s1"><span style="font-size:10.0pt">echo</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">fi</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p2"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">exit</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="p1"><span class="s1"><span style="font-size:10.0pt">[rancid@nsgv-prod-59 usrdir]$</span></span><span class="apple-converted-space"><span style="font-size:10.0pt"> </span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">"Munoz-Persinger, Axel @ CSG - CSE" <Axel.Munoz-Persinger@L3T.com><br>
<b>Date: </b>Thursday, October 12, 2017 at 15:47<br>
<b>To: </b>"rancid-discuss@shrubbery.net" <rancid-discuss@shrubbery.net><br>
<b>Cc: </b>"Auer, Kyle @ CSG - CSE" <Kyle.Auer@L3T.com>, "Zaveri, Sundeep @ CSG - CSE" <Sundeep.Zaveri@L3T.com>, "Dowd, Daniel @ CSG - CSE" <daniel.dowd@L3T.com><br>
<b>Subject: </b>[rancid] RANCID Router Login<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Hello,</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Our organization uses RANCID for gathering data from our Cisco routers, but we recently faced an issue with a change we’re trying to make.</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">We simply want to change what the address that the scripts use to log into the routers. Let’s say in the
</span><span style="font-size:12.0pt;font-family:"Courier New",serif">routers.db</span><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> file we have:</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif">Router1:cisco:up</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif">Router2:cisco:up</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif">Router3:cisco:up</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">We’d like to change it to:</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif">Router1.XYZ:cisco:up</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif">Router2.XYZ:cisco:up</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif">Router3.XYZ:cisco:up</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">We didn’t want to change the actual router names in the
</span><span style="font-size:12.0pt;font-family:"Courier New",serif">routers.db</span><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> file, since this would most likely have other side effects like modifying the CVS. We tried changing
</span><span style="font-size:12.0pt;font-family:"Courier New",serif">clogin:750(ish)
</span><span style="font-size:12.0pt;font-family:"Times New Roman",serif">from </span>
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif">if {[login $router $ruser $userpswd $passwd $enapasswd $cmethod $cyphertype]} {</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">to</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif">if {[login $router.XYZ $ruser $userpswd $passwd $enapasswd $cmethod $cyphertype]} {</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Courier New",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">However, by watching the tcpdump output, we see that it’s still reaching out to the original address.</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Do you have any ideas that could help us?</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Thanks,</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Axel Munoz-Persinger</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Security Analyst</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><a href="mailto:Axel.Munoz-Persinger@L3T.com">Axel.Munoz-Persinger@L3T.com</a></span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">(856) 338-4103</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">CONFIDENTIALITY NOTICE: This email and any attachments are for the sole use of the intended recipient and may contain material that is proprietary, confidential, privileged or otherwise legally protected or restricted
 under applicable government laws. Any review, disclosure, distributing or other use without expressed permission of the sender is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies without reading, printing,
 or saving. <span style="font-size:10.5pt;font-family:"Times New Roman",serif"><br>
Effective immediately my new email address is <span style="color:blue">Axel.Munoz-Persinger@L3T.com</span>. Please update your records.</span>
<o:p></o:p></p>
</div>
</body>
</html>