WAL-G for Redis

Interface of Redis features is currently unstable

You can use wal-g as a tool for making encrypted, compressed Redis backups and push/fetch them to/from storage without saving it on your filesystem.



Command to create Redis backup, should return backup as single stream to STDOUT. Required for backup procedure.


Command to unpack Redis backup, should take backup (created by WALG_STREAM_CREATE_COMMAND) to STDIN. Required for restore procedure.


Password for 'redis-cli' command. Required for backup archiving procedure if you have password.


WAL-G redis extension currently supports these commands:


Creates new backup and send it to storage.

Runs WALG_STREAM_CREATE_COMMAND to create backup.

wal-g backup-push


Lists currently available backups in storage.

wal-g backup-list


Fetches backup from storage and restores passes data to WALG_STREAM_RESTORE_COMMAND to restore backup.

User should specify the name of the backup to fetch.

wal-g backup-fetch example_backup


Deletes backups from storage, keeps N backups.

User should specify time or date to keep.

Dry-run remove retain all after specific date

wal-g delete --retain-after 2020-10-28T12:11:10+03:00


Dry-run keep 10 last backups

wal-g delete --retain-count 10


Dry-run keep at least 10 backups, and retain all after specific date

wal-g delete --retain-count 10 --retain-after 2020-10-28T12:11:10+03:00

Perform delete

wal-g delete --retain-count 10 --retain-after 2020-10-28T12:11:10+03:00 --confirm

Typical configurations

Full backup/restore only

Here's typical wal-g configuration for that case:

WALG_STREAM_CREATE_COMMAND:  'redis_cli --rdb /dev/stdout'
WALG_STREAM_RESTORE_COMMAND: 'cat > /var/lib/redis/dump.rdb'

Why we made redis_cli.sh

redis-cli fails with error when redis version >= 6.2, so we made this workaround

If you use redis >= 6.2, use redis_cli.sh and replace redis-cli in WALG_STREAM_CREATE_COMMAND