Concept

cBackup utilizes SNMP, Telnet and SSH protocols to communitcate with devices and to retrieve data from nodes. SNMP is used for node discovery and polling processes. It is possible to use only Telnet or SSH to backup nodes, but SNMP provides more verbose data for node management.

cBackup itself consists of two parts: web interface and daemon. Web interface is written in PHP on top of Yii2 framework and daemon is a Java Spring application running as system service. Daemon communicates with cBackup web core via REST API (via HTTP protocol), so theoretically it can be run in the separate environment.

Key terms

Term Definition
Node End unit of network equipment, a subject to configuration backup process. Most often nodes are represented by switches and routers of different classes.
Device Class or group of network equipment described in terms of vendor and model. To each device there's an authentication template assigned.
Authentication template Sequence of prompts and responses representing authentication sequence for communication via Telnet. Every template can be assigned to any device. There're several macros available (e.g. {{telnet_login}}, {{telnet_password}}) representing corresponding data from credentials.

⚠ Warning!
For communication via SSH all macros will be ignored and initial SSH login and password are retrieved from credentials directly. Rest of the sequence is still used to send privileged mode password if it's required. See authentiaction documentation for full information.
Network Simple subnet of any class, defined in CIDR format. To each subnet particular credentials are assigned.
Credentials Set of authentication data (logins, passwords, protocols, port numbers, etc) that is used in authentication processes. Credentials set can be assigned to any number of subnets and will be used in numerous cBackup processes.
Discovery Process of checking nodes in all defined networks. New nodes are discovered, existing are being checked for updates (e.g. if equipment model has been changed)
Daemon cBackup main daemon with internal scheduler. Physically it's executable .JAR file. It handles processes of discovery, polling and required configuration data retrieving. Communicates with cBackup web core via REST API.
Schedule cBackup doesn't rely on system cron and utilizes its' own scheduler. You can schedule system tasks or reporting via email. Each schedule represents one task, so in other words you schedule a task.
Task Particular task itself that could be assigned to nodes or devices. Task consists of workers.
Worker Set of commands intended for specific functionality processing. Primarily worker is described by protocol and consists of jobs' sequence
Job Specific command (Telnet or SSH depending on worker's protocol). Also can be SNMP OID if worker, which contains this job works over SNMP protocol.

Process components

For process components relations comprehension the following diagram can be used:

Process elements relations