nxs-backup is a tool for creating and delivery backups, rotating it locally and on remote storages, compatible with GNU/Linux distributions.
- 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
- File backups:
- 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
- Clone the repo
git clone https://github.com/nixys/nxs-backup.git
- 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.
- Check that installation successful:
sudo nxs-backup --version
- Generate configuration files like described here or update
provided
nxs-backup.conf
and jobs configs incond.d
dir with your parameters (see docs for details) - For starting nxs-backup process run:
sudo nxs-backup start
- Go to docker compose directory
cd nxs-backup/.deploy/docker-compose/
- Update provided
nxs-backup.conf
file with your parameters (see docs for details) - Launch the nxs-backup with command:
docker compose up -d --pull
- 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:
where $NAMESPACE_SERVICE_NAME is the namespace in which to back up your data
helm -n $NAMESPACE_SERVICE_NAME install nxs-backup nixys/nxs-universal-chart -f values.yaml
For detailed information on using the tool please visit nxs-backup.io.
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
For support and feedback please contact me:
- Telegram: @r_andreev
- Email: r.andreev@nixys.io
For news and discussions subscribe the channels:
- Telegram community (news): @nxs_backup
- Telegram community (chat): @nxs_backup_chat
nxs-backup is released under the Apache-2.0 license.