返回 Skill 列表
extension
分类: 开发与工程无需 API Key

Config Backup

备份网络设备配置,并按组/角色/站点进行过滤。当用户要求“备份配置”、“保存配置”、“导出配置”或需要持久化设备配置时使用。

person作者: jakexiaohubgithub

Config Backup Skill

Backup network device configurations to local storage with flexible filtering options.

Workflow

  1. List Available Devices: Call list_devices() to view all devices and their group/role/site attributes
  2. Filter Target Devices: Select devices by group, role, or site (e.g., "core role" → R3, R4)
  3. Execute Backup Commands: Run nornir_execute(device, "show running-config") on each device
  4. Save Configurations: Call save_device_config(device, "running", content) to persist backups

Device Classification

View device attributes with list_devices():

| Device | Groups | Role | Site | |--------|--------|------|------| | R1 | test | border | lab | | R2 | test | border | lab | | R3 | test | core | lab | | R4 | test | core | lab | | SW1 | test | access | lab | | SW2 | test | access | lab |

Usage Examples

Backup by Group

User: backup group:test running config
Process:
  1. list_devices() → Find devices in "test" group
  2. Execute show running-config on R1, R2, R3, R4, SW1, SW2
  3. save_device_config saves each config to data/exports/

Backup by Role

User: backup role:core all configs
Process:
  1. list_devices() → Find devices with role="core" (R3, R4)
  2. nornir_execute fetches running + startup configs
  3. save_device_config persists both configs

Backup by Site

User: backup site:lab running config
Process:
  1. list_devices() → Find all devices at site="lab"
  2. Batch backup all 6 devices

Single Device Backup

User: backup R1 running config
Process:
  1. nornir_execute("R1", "show running-config")
  2. save_device_config("R1", "running", content)

Backup Types

  • running - Current running configuration (show running-config)
  • startup - Startup configuration (show startup-config)
  • all - Both running and startup configs

Backup Storage

All backups are saved to agent_dir/data/configs/:

agent_dir/data/configs/
├── R1-running-config-20260108-120000.txt
├── R2-running-config-20260108-120000.txt
├── R1-startup-config-20260108-120000.txt
└── ...

Version Control with Git

# Initialize repository (one-time)
cd agent_dir/data
git init
git config user.name "OLAV Backup"

# After backup
git add -A
git commit -m "Backup $(date +%Y%m%d-%H%M%S)"

# View backup history
git log --oneline | head -10

Supported Filters

| Filter | Example | Matches | |--------|---------|---------| | Group | group:test | All devices in "test" group | | Role | role:core | All devices with role="core" | | Site | site:lab | All devices at site="lab" | | Comma-list | R1,R2,R3 | Specific devices | | All | all | All available devices |