Skip to content

aerospike/absctl

Repository files navigation

Aerospike Backup Service Control

Tests PkgGoDev codecov

The repository includes the backup and restore 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

Build from Source

# Build binaries
make build

# Install to /usr/bin (Linux only)
make install

# Uninstall (Linux only)
make uninstall

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.

Installation

From Releases

Download pre-built binaries from GitHub Releases:

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

# Extract
tar -xzvf absctl-<version>-<arch>.tar.gz

# Make executable
chmod +x absctl

Download linux pakages from GitHub Releases:

deb:

# Linux x64
wget https://github.com/aerospike/absctl/releases/download/<version>/absctl_<version>_<arch>.deb

# Install
sudo dpkg -i absctl_<version>_<arch>.deb

rpm:

# Linux x64
wget https://github.com/aerospike/absctl/releases/download/<version>/absctl-<version>-<arch>.rpm

# Install
sudo rpm -i absctl-<version>-<arch>.rpm

docker:

# Pull
docker pull aerospike/absctl:<version>

# Run backup
docker run -v <host-path>:<container-path>  aerospike/absctl:<version> absctl backup -h <aerospike-address>  -n <namespace> -d <container-path> 

# Run restore
docker run -v <host-path>:<container-path>  aerospike/absctl:<version> absctl restore -h <aerospike-address>  -n <namespace> -d <container-path> 

Quick Start

Basic Backup

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

Basic Restore

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

Configuration Reference

Please look at backup and restore readme files for details.

License

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

Support

Packages

No packages published

Contributors 6

Languages