Network Configuration Backup with Rancid automatically


Rancid currently supports Cisco routers, Juniper routers, Catalystswitches, Foundry switches, Redback NASs, ADC EZT3 muxes, MRTd (andthus likely IRRd), Alteon switches, and HP Procurve switches and ahost of others.
Note: you should config postfix mail running correctly first.
Linux Platform: CentOS 6.5 x86
1. yum -y install gcc expect cvs telnet openssh-clients mailx
vi/etc/hosts
192.168.1.11    router1
2.groupadd netadm
useradd -g netadm -c "Networking Backups" -d /usr/local/rancid rancid

3.mkdir/usr/local/rancid/tar
cd/usr/local/rancid/tar
wget ftp://ftp.shrubbery.net/pub/rancid/rancid-2.3.8.tar.gz
tar xzf rancid-2.3.8.tar.gz
4. cd rancid-2.3.8
./configure --prefix=/usr/local/rancid/

make install
cp cloginrc.sample /usr/local/rancid/.cloginrc

chmod 0640/usr/local/rancid/.cloginrc
chown -R rancid:netadm/usr/local/rancid/
chmod 770/usr/local/rancid/
5.vi/usr/local/rancid/etc/rancid.conf
add following items:
#
LIST_OF_GROUPS="networking"
FILTER_PWDS=NO; export FILTER_PWDS
NOCOMMSTR=NO; export NOCOMMSTR

6. for CentOS 6 using postfix
vi/etc/aliases
# Rancid email addresses
# The "networking"Rancid group will need to have groups named rancid-admin-networking and rancid-networking
rancid-admin-networking:           root
rancid-networking:                 root
postalias hash:/etc/aliases
service postfix restart
7. su - rancid
/usr/local/rancid/bin/rancid-cvs networking       #must append this networking group name
cp /usr/local/rancid/tar/rancid-2.3.8/README .

8. create an crontab for rancid user
 crontab -e

#
# Rancid user's crontab file
#

# Run config differ on Sunday
00 22 * * 0 /usr/local/rancid/bin/rancid-run

# Clean out config differ logs
50 23 * * * /usr/bin/find /usr/local/rancid/var/logs -type f -mtime +2 -exec rm {} \;

service crond restart
9. vi/usr/local/rancid/var/networking/router.db
# dns-name-or-ip-address:device-type:status

router1:cisco:up
# for rancid 3.0, using below format
# router1;cisco;up
10. vi/usr/local/rancid/.cloginrc
# Note: The first match for a hostname takes precedence.# test linux server for router1#add user *           {cisco}
add user router1    {cisco}#add password *       {cisco}         {cisco}
add password router1    {cisco}    {cisco}
11. testing for router1
/usr/local/rancid/bin/clogin router1
12. testing for all devices
/usr/local/rancid/bin/rancid-run
13. checking logging
ls/usr/local/rancid/var/logs
14. checking  network devices configuration here
ls/usr/local/rancid/var/networking/configs/
it's done