The release of the backup tool nxs-backup 3.4.0 has been published, allowing users to create backups, perform rotations, and store them on local or external storage. In addition to file backup, the tool supports creating backups of various databases. The project's code is distributed under the GPLv3 license. Starting from branch nxs-backup 3.x, the project's code has been completely rewritten in Go (previously, Python was used) to enhance performance and expand functionality.
Initial requirements for nxs-backup capabilities:
- Backing up data from the most commonly used software: files (full and incremental backup), MySQL (logical/physical backups), PostgreSQL (logical/physical backups), MongoDB, Redis;
- Storing backups in remote storage: S3, FTP, SSH, SMB, NFS, WebDAV;
- A unified configuration file that allows centralized management of backups;
- Ability to extend functionality through custom scripts;
- Ease of initial configuration.
Over the past year, the following features have been added to nxs-backup:
- Interfaces have been implemented for all declared storage and all types of backups. Jobs and storage are initialized at startup rather than during execution;
- Working with remote storage via API. Various libraries are utilized for this purpose;
- Thanks to the mini-framework go-nxs-appctx, it is now possible to use environment variables in the configuration;
- Event log dispatching via hooks. Different levels can be configured to receive only error information or events of the desired level;
- Self-updating;
- Backing up not only for a specified time period but also while maintaining a specific number of backups.
Source: opennet.ru
