Backup and Restore

BackupEngine

class rocksdb.BackupEngine
__init__(backup_dir)

Creates a object to manage backup of a single database.

Parameters:backup_dir (unicode) – Where to keep the backup files. Has to be different than db.db_name. For example db.db_name + ‘/backups’.
create_backup(db, flush_before_backup=False)

Triggers the creation of a backup.

Parameters:
  • db (rocksdb.DB) – Database object to backup.
  • flush_before_backup (bool) – If True the current memtable is flushed.
restore_backup(backup_id, db_dir, wal_dir)

Restores the backup from the given id.

Parameters:
  • backup_id (int) – id of the backup to restore.
  • db_dir (unicode) – Target directory to restore backup.
  • wal_dir (unicode) – Target directory to restore backuped WAL files.
restore_latest_backup(db_dir, wal_dir)

Restores the latest backup.

Parameters:
stop_backup()

Can be called from another thread to stop the current backup process.

purge_old_backups(num_backups_to_keep)

Deletes all backups (oldest first) until “num_backups_to_keep” are left.

Parameters:num_backups_to_keep (int) – Number of backupfiles to keep.
delete_backup(backup_id)
Parameters:backup_id (int) – Delete the backup with the given id.
get_backup_info()

Returns information about all backups.

It returns a list of dict’s where each dict as the following keys.

backup_id
(int): id of this backup.
timestamp
(int): Seconds since epoch, when the backup was created.
size
(int): Size in bytes of the backup.