nxs-backup
nxs-backup is a tool for creating and delivery backups, rotating it locally and on remote storages, compatible with
GNU/Linux distributions.
Introduction
Features
- Full data backup
- File backups:
- Discrete files backups
- Incremental files backups
- Database backups:
- Logical backups of MySQL/Percona (5.7/8.0/all versions)
- Logical backups of MariaDB (10/11/all versions)
- Physical backups by Xtrabackup (2.4/8.0) of MySQL/Percona (5.7/8.0/all versions)
- Physical backups by MariaDB-backup of MariaDB (10/11/all versions)
- Logical backups of PostgreSQL (9/10/11/12/13/14/15/16/all versions)
- Physical backups by Basebackups of PostgreSQL (9/10/11/12/13/14/15/16/all versions)
- Backups of MongoDB (4.0/4.2/4.4/5.0/6.0/7.0/all versions)
- Backups of Redis (all versions)
- Support of user-defined scripts that extend functionality
- Upload and manage backups to the remote storages:
- S3 (Simple Storage Service that provides object storage through a web interface. Supported by clouds e.g. AWS, GCP)
- SSH (SFTP)
- FTP
- CIFS (SMB)
- NFS
- WebDAV
- Fine-tune the database backup process with additional options for optimization purposes
- Notifications about events of the backup process via email and webhooks
- Collect, export, and save metrics in Prometheus-compatible format
- Limiting resource consumption:
- CPU usage
- local disk rate
- remote storage rate
- System Administrators
- DevOps Engineers
- Developers
- Anybody who need to do regular backups
Quickstart
- Go to on-premise directory
cd nxs-backup/.deploy/on-premise/
- Install nxs-backup, just download and unpack archive for your CPU architecture.
curl -L https://github.com/nixys/nxs-backup/releases/latest/download/nxs-backup-amd64.tar.gz -o /tmp/nxs-backup.tar.gz
tar xf /tmp/nxs-backup.tar.gz -C /tmp
sudo mv /tmp/nxs-backup /usr/sbin/nxs-backup
sudo chown root:root /usr/sbin/nxs-backup
[!NOTE]
nxs-backup is built for the following processor architectures: amd64 (x86_64), arm (armv8), arm64 (aarch64).
If you need specific version of nxs-backup, or different architecture, you can find it on release page.
Docker-compose
Kubernetes
- Go to kubernetes directory
cd nxs-backup/.deploy/kubernetes/
- Install nxs-universal-chart (
Helm 3
is required):
helm repo add nixys https://registry.nixys.io/chartrepo/public
- Find examples of
helm values
here
- Fill up your
values.yaml
with correct nxs-backup configs
- Launch nxs-backup with command:
helm -n $NAMESPACE_SERVICE_NAME install nxs-backup nixys/nxs-universal-chart -f values.yaml
where $NAMESPACE_SERVICE_NAME is the namespace in which to back up your data
Documentation
For detailed information on using the tool please visit nxs-backup.io.
Roadmap
Following features are already in backlog for our development team and will be released soon:
- Encrypting of backups
- Restore backups by nxs-backup
- API for remote management and metrics monitoring
- Web interface for management
- Proprietary startup scheduler
- New backup types (Clickhouse, Elastic, lvm, etc.)
- Programmatic implementation of backup creation instead of calling external utilities
Feedback
For support and feedback please contact me:
For news and discussions subscribe the channels:
License
nxs-backup is released under the Apache-2.0 license.