Cassandra provides commitlog archiving and point-in-time recovery starting with version 1.1.1. You configure this feature in the commitlog_archiving.properties configuration file, which is located in the following directories:
The commands archive_command and restore_command expect only a single command with arguments. STDOUT and STDIN or multiple commands cannot be executed. The parameters must be entered verbatim. To workaround, you can script multiple commands and add a pointer to this file. To disable a command, leave it blank.
Archive a particular commitlog segment.
|Parameters||%path||Fully qualified path of the segment to archive.|
|%name||Name of the commit log.|
|Example||archive_command=/bin/ln %path /backup/%name|
Make an archived commitlog live again.
|Parameters||%from||Fully qualified path of the an archived commitlog segment from the <restore_directories>.|
|%to||Name of live commit log directory.|
|Example||restore_command=cp -f %from %to|
Set the directory for the recovery files are placed.
Restore mutations created up to and including the specified timestamp.
|Format||<timestamp> (YYYY:MM:DD HH:MM:SS)|
Restore stops when the first client-supplied timestamp is greater than the restore point timestamp. Because the order in which Cassandra receives mutations does not strictly follow the timestamp order, this can leave some mutations unrecovered.