/aerospike-backup-cli

CLI tools for Aerospike backup and restore

Primary LanguageGoApache License 2.0Apache-2.0

Aerospike Backup CLI

Tests PkgGoDev codecov

The repository includes the asbackup and asrestore CLI tools, built using backup-go library. Refer to their respective README files for usage instructions. Binaries for various platforms are released alongside the library and can be found under releases.

Core Features

Standard Operations

  • Full backups: Complete namespace or set backups
  • Incremental backups: Time-based filtering for changed records
  • Parallel processing: Configurable workers for optimal performance
  • Resume capability: Continue interrupted backups from state files

Advanced Filtering

  • Set-based: Backup specific sets within namespaces
  • Bin filtering: Include only specified bins
  • Time windows: Records modified within date ranges
  • Partition filtering: Backup specific partition ranges
  • Node/Rack targeting: Geographic or hardware-specific backups

Enterprise Features

  • Compression: ZSTD compression for reduced storage
  • Encryption: AES-128/256 encryption for data security
  • Cloud storage: Direct backup to AWS S3, GCP Storage, Azure Blob
  • Secret management: Integration with Aerospike Secret Agent
  • Rate limiting: Bandwidth and RPS controls

Quick Start

Basic Backup

# Simple namespace backup
asbackup -h 127.0.0.1:3000 -n test -d /backup/test-namespace

Basic Restore

# Restore from backup directory
asrestore -h 127.0.0.1:3000 -n test -d /backup/test-namespace

Installation

From Releases

Download pre-built binaries from GitHub Releases:

# Linux x64
wget https://github.com/aerospike/aerospike-backup-cli/releases/download/<version>/asrestore-<version>-<arch>.tar.gz
wget https://github.com/aerospike/aerospike-backup-cli/releases/download/<version>/asbackup-<version>-<arch>.tar.gz

# Extract
tar -xzvf asrestore-<version>-<arch>.tar.gz
tar -xzvf asbackup-<version>-<arch>.tar.gz

# Make executable
chmod +x asbackup asrestore

Build from Source

# Build binaries
make build

# Install to /usr/bin
make install

# Uninstall
make uninstall

Docker

Build and push a multi-platform Docker image:

DOCKER_USERNAME="<jfrog-username>" DOCKER_PASSWORD="<jfrog-password>" TAG="<tag>" make docker-buildx 

Build a Docker image for local use:

TAG="<tag>" make docker-build

A single docker image, including both tools, will be created.

Usage example:

docker run --rm aerospike-backup-tools:<tag> asrestore --help
docker run --rm aerospike-backup-tools:<tag> asbackup --help

Linux Packages

To generate .rpm and .deb packages for supported Linux architectures (linux/amd64, linux/arm64):

make packages

The generated packages and their sha256 checksum files will be located in the /target directory.

Configuration Reference

Please look at asbackup and asrestore readme files for details.

License

Apache License, Version 2.0. See LICENSE file for details.

Support