Skip to content

Instantly share code, notes, and snippets.

@aice09
Created September 20, 2023 16:08
Show Gist options
  • Save aice09/bacf9a9e98e9a269370b84c647a07cd2 to your computer and use it in GitHub Desktop.
Save aice09/bacf9a9e98e9a269370b84c647a07cd2 to your computer and use it in GitHub Desktop.
Netbox Manual Upgrade
########## upgrade_script.py - start ##########
import argparse
parser = argparse.ArgumentParser(description='A simple script to help with netbox upgrades')
parser.add_argument("-f",help="Version of netbox you're looking to upgrade FROM 'ex 2.7.8'")
parser.add_argument("-t",help="Version of netbox you're looking to upgrade TO 'ex 2.7.9'")
args = parser.parse_args()
goFrom = str(args.f)
goTo = str(args.t)
print ("### BEGIN NETBOX UPGRADE CODE ###")
print ("cd ~")
print ("wget https://github.com/netbox-community/n..." + goTo + ".tar.gz")
print ("sudo tar -xzf v" + goTo + ".tar.gz -C /opt")
print ("sudo ln -sfn /opt/netbox-" + goTo + "/ /opt/netbox")
print ("sudo cp /opt/netbox-" + goFrom + "/local_requirements.txt /opt/netbox/")
print ("sudo cp /opt/netbox-" + goFrom + "/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/")
print ("sudo cp /opt/netbox-" + goFrom + "/netbox/netbox/ldap_config.py /opt/netbox/netbox/netbox/")
print ("sudo cp -pr /opt/netbox-" + goFrom + "/netbox/media/ /opt/netbox/netbox/")
print ("sudo cp -r /opt/netbox-" + goFrom + "/netbox/scripts /opt/netbox/netbox/")
print ("sudo cp -r /opt/netbox-" + goFrom + "/netbox/reports /opt/netbox/netbox/")
print ("sudo cp /opt/netbox-" + goFrom + "/gunicorn.py /opt/netbox/")
print ("sudo /opt/netbox/upgrade.sh")
print ("sudo systemctl restart netbox netbox-rq")
print ("#### END NETBOX UPGRADE CODE ####")
########## upgrade_script.py - end ##########
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment