Coder Social home page Coder Social logo

abdulrahmanabduatif / getnetbackup Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 31 KB

GetNetBackup is a network automation tool that helps network administration and network engineers collect routers, switches, firewalls, and load balancers configurations and store them in a specific folder with a date titled. It is an easy-to-use tool and does not require a programming background

License: BSD 2-Clause "Simplified" License

Python 100.00%
network python netdevops devops automation backups backup-tool backup-script

getnetbackup's Introduction

GetNetBackup

Description

GetNetBackup is a network automation tool that helps network administration and network engineers collect routers, switches, firewalls, and load balancers configurations and store them in a specific folder with a date titled. It is an easy-to-use tool and does not require a programming background.

Supported Vendors Devices

Below is the list of supported vendor devices by GetNetBackup based on the Netmiko library.
  • Arista EOS
  • Cisco ASA -Cisco IOS/IOS-XE
  • Cisco IOS-XR
  • Cisco NX-OS
  • Cisco SG300
  • HP Comware7
  • HP ProCurve
  • Juniper Junos
  • F5 TMSH
  • Aruba

Prerequisite

For GetNetBackup to function, th following system packages must be installed.
  • Centos and RedHat
sudo yum groupinstall 'Development Tools' -y
sudo yum install libffi-devel  openssl-devel -y
  • Ubuntu
apt-get install build-essential libssl-dev libffi-dev -y

Installation

Install python3 and git

  • Centos and RedHat
sudo yum install python3 -y
sudo yum install python3-pip
sudo yum install git
  • Ubuntu
apt-get install python3 -y
apt-get install python3-pip
apt-get install git

Install the GetNetBackup

git clone https://github.com/abdulrahmanAbduatif/GetBackup.git
cd GetNetBackup
You might need to run it with sudo (root)
pip3 install -r requirements.txt

Configuration

  • Setup the backup path configuration
The path configuration is in the GetNetBackup.conf. you can specify the backup path with the curly brackets. the default is files/backup/.

Screen Shot 2022-01-13 at 1 53 38 PM

  • Setup and understand the inventory
The inventory is just a CSV file that you can create yourself following the example file inventory-test.csv or use inventory-test.csv after updating it based on your device's inventory.
This is how it looks in Microsoft excel/Numbers

Screen Shot 2022-01-13 at 2 41 29 PM

This is on terminal

Screen Shot 2022-01-13 at 2 42 19 PM

IP: is just the devices IP address that you use to connect to the cli.
dtype: is the device driver type such as cisco_ios for cisco, juniper_jonos for juniper, and hp_procurve for HP. you can find the rest of supported devices HERE
vendor: This is to specify the vendor name so the tool can arrange them in the correct folder.
backup: This is important. Here where you add the command line to read the configuration form the specific vendor device. For example Cisco and HP show running-config and Juniper show configuration | display set | no-more.

Run GetNetBackup

Run the GetNetBackup.py file
$ python3 GetNetBackup.py -h

                Usage: python GetNetBackup.py [ OPTION ] [ ARGUMENT ]
                -h,  help       
                -i,  --InventoryPath  The path to the inventory CSV file

Take a backup
python3 GetNetBackup.py -i inventory-test.csv 
The output of the tools and The backup folder.
Note: If you have multi-vendor devices, the tool will divide them into folders with the vendor name and add them all to a folder with the day date.

Screen Shot 2022-01-13 at 3 48 52 PM

Have FUN ๐Ÿ˜‰ and Keep Automating ๐Ÿ‘พ

getnetbackup's People

Contributors

abdulrahmanabduatif avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.