python-netbox-config-backup
Port variant v12
Summary NetBox Switch Configuration Backup Plugin (3.12)
BROKEN
Package version 2.1.1
Homepage No known homepage
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v11
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 21 SEP 2024, 20:11:51 UTC
Port created 08 JAN 2023, 04:18:24 UTC
Subpackage Descriptions
single # 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 1. Install from PyPI (`pip install netbox-config-backup`) 2. Edit netbox configuration: ```pyython 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 ', 'author': 'User ', # Freqency of backups in seconds, can be anywhere 0+ (Recommended is 1800 (30 minutes) or 3600 (1 hr) 'frequency': 3600 } } ``` 3. Migrate: `python3 netbox/manage.py migrate` 4. Copy /etc/systemd/system/netbox-rq.service to /etc/systemd/system/ncb-rq\@.service 5. Edit: /etc/systemd/system/ncb-rq\@.service: ExecStart: ``` ExecStart=/opt/netbox/venv/bin/python3 /opt/netbox/netbox/manage.py rqworker --name ncb@%i --with-scheduler netbox_config_backup.jobs ``` 6. Reload systemd: `systemctl daemon-reload` 7. Enable the service with x number of workers: `systemctl enable ncb-rq@{1..10}` (This will generate 10 worker symlinks to auto start) 8. Start the service with x number of workers: `systemctl start ncb-rq@{1..10}` (This will start 10 workers) 9. Create your first device backup ## Logging To enable logging, add the following to your configuration.py under LOGGING: ```python 'netbox_config_backup': { 'handlers': ['enter_your_handlers_here'], 'level': 'desired_log_level', 'propagate': True, }, ```
Configuration Switches (platform-specific settings discarded)
PY311 OFF Build using Python 3.11 PY312 ON Build using Python 3.12
Package Dependencies by Type
Build (only) python312:dev:std
python-pip:single:v12
autoselect-python:single:std
Build and Runtime python312:primary:std
Runtime (only) python-netbox-napalm-plugin:single:v12
python-netmiko:single:v12
python-napalm:single:v12
python-uuid:single:v12
python-dulwich:single:v12
python-PyDriller:single:v12
python-deepdiff:single:v12
Download groups
main mirror://PYPIWHL/87/70/3cc6626999f24812a9e5975b677b87da9cd1bf34160bfc8eca614808e26f
Distribution File Information
9d1665912abc3abfff55b5975a4fa5cfebd33e474531086f7255d8a2989b798a 54878 netbox_config_backup-2.1.1-py3-none-any.whl
Ports that require python-netbox-config-backup:v12
No other ports depend on this one.