Netbox Configuration Backup
A configuration backup system using netbox and napalm to backup devices into a git repository
Features
- Connects to any device that supports napalm and provides both a running configuration and startup configuration
- Stores backups in a git repository
- Runs as a scheduled task through Django RQ
- Only displays backups with changes
- Provides both configuration download and diffs for point-in-time backups
Future
- Allow github repositories
- Add job "discovery" based on specific criteria (napalm enabled, device role switch, has primary ip as an example)
- Add RQ job to ensure all backups are queued
- Allow manual queueing of job
- Add API endpoint to trigger backup
- Add signal(s) to trigger backup
Installation
- Install from PyPI (
pip install netbox-config-backup)- This should install
netbox_napalm_pluginwhich is also required
- This should install
- Edit netbox configuration:
PLUGINS = [
'netbox_config_backup',
# Other plugins here
]
PLUGINS_CONFIG = {
'netbox_config_backup': {
# Parent folder must exist and be writable by your RQ worker and readable by the WSGI process
'repository': '/path/to/git/repository',
'committer': 'User <email>',
'author': 'User <email>',
# Freqency of backups in seconds, can be anywhere 0+ (Recommended is 1800 (30 minutes) or 3600 (1 hr)
'frequency': 3600
}
}
- Migrate:
python3 netbox/manage.py migrate - Create appropriate Napalm configurations for all devices you will be backing up
- Create your first device backup
Cleanup Old Version
If you are coming from an older version, please remove the custom RQ worker as it is no longer required
Logging
To enable logging, add the following to your configuration.py under LOGGING:
'netbox_config_backup': {
'handlers': ['enter_your_handlers_here'],
'level': 'desired_log_level',
'propagate': True,
},
Release files for netbox-config-backup 2.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netbox_config_backup-2.2.2.tar.gz | 41.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_config_backup-2.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 108.7 kB
Release files / netbox_config_backup-2.2.2.tar.gz
| Download URL | netbox_config_backup-2.2.2.tar.gz |
|---|---|
| Size | 41.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
038f7d4cd229e339663012d16b237516b01e181a3dfd249414830ce7c3bcfb47
|
|
BLAKE2b-256 checksum How to use checksums |
967ad26e73af50b5e6edc7fbc7eaec35b8a5203580096d2698e9c41c062a320c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 8, 2026.
Transparency logRelease files / netbox_config_backup-2.2.2-py3-none-any.whl
| Download URL | netbox_config_backup-2.2.2-py3-none-any.whl |
|---|---|
| Size | 67.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b988a5e46cca3bc5e4a99c089f170115d22d205d7bd1e76f01fc9519fc9e5ec0
|
|
BLAKE2b-256 checksum How to use checksums |
7e790fd6907db00bc2d3f6d98f21749ebb86495817fec1f875ab2f3c37f5f23d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 8, 2026.
Transparency log