# IPng Networks Router Backup SSH-based network device configuration backup tool with support for multiple device types and flexible authentication methods. ## Features - **Multi-device backup**: Configure multiple devices in YAML, with `!include` directives - **Device type templates**: Reusable command sets per device type, overridable per individual device - **Flexible authentication**: SSH agent, key files, or password ## Quick Start ### Installation ```bash # Install Debian package sudo dpkg -i ipng-router-backup_X.Y.Z_amd64.deb # Or build from source make build ``` ### Basic Usage 1. **Create configuration files**: **Main config** (`config.yaml`): ```yaml devices: asw100: user: netops type: srlinux asw120: user: netops type: srlinux ``` **Device types** (`00-device-types.yaml`): ```yaml types: srlinux: commands: - show version - show platform linecard - info flat from running ``` 2. **Run backup**: ```bash # Backup all devices ipng-router-backup --yaml *.yaml --output-dir /backup # Backup specific devices ipng-router-backup --yaml *.yaml --host asw100 --output-dir /backup ``` 3. **Check output**: ```bash ls /backup/ # asw100 asw120 cat /backup/asw100 # ## COMMAND: show version # Hostname : asw100 # Software Version : v25.3.2 # ... ``` ## Authentication The tool automatically tries authentication methods in this order: 1. **SSH Agent** (if `SSH_AUTH_SOCK` is set) 2. **SSH Key File** (`--key-file` or default locations) 3. **Password** (`--password` flag) ## Documentation - **[Detailed Documentation](docs/DETAILS.md)** - Complete feature guide, configuration reference, and examples - **[Manual Page](docs/router_backup.1)** - Unix manual page - **[Changelog](debian/changelog)** - Version history and changes