/keeper

Incremental backup utility

Primary LanguageC++GNU Affero General Public License v3.0AGPL-3.0

BURO - freeware command line incremental backup utility for MS Windows.

BURO supports data compression and encryption. You can access all your files and it's previous versions with your favorite file manager.

Click here to download

I'll be very appreciated if someone will help me to correct this translation. Dmitriy.

How to backup

Simple example how to backup single folder:

buro --backup --srcdir="<source directory>" --dstdir="<destination directory>"

If source directory contains files:

file1
file2
...
fileN

new repository will be created at the destination directory:

<mirror>

file1
file2
...
fileN

buro.db

If you change file1 and run the same command again, file1 will be moved to the folder, named as current time, and changed file will be copied to mirror folder. Example:

<2017-08-31T00-37-12.048>

file1 <-old file

<mirror>

file1 <- newer file
file2
...
fileN

buro.db

If you want to enable compression, add argument "--compress". You can set compression ratio from 1 (faster) to 9 (slower):

buro --backup --srcdir="<source directory>" --dstdir="<destination directory>" --compress=9

Extension ".bz2" will be added to the names at destination directory:

file1.bz2
file2.bz2
...
fileN.bz2

If you want to protect your files with password, add argument --password:

buro --backup --srcdir="<source directory>" --dstdir="<destination directory>" --password="<your password>"

Extension ".encrypted" will be added to the names at destination directory and files will be encrypted with the strong encryption algorithm:

file1.encrypted
file2.encrypted
...
fileN.encrypted

With argument --encryptnames file names will encrypted and looks like a garbage:

DXJKXWIXMQ
DXJKXWIXQY
...
DXJKXWLFKE

You can combine --compress and --password arguments.

How to restore

Restoring is simple:

buro --restore --srcdir="<source directory>" --dstdir="<destination directory>"

Argument srcdir is pointing to the repository folder. Latest state of the files will be restored. If you want to restore files state at the given time, define it with argument --timestamp. Time's format is "YYYY-MM-DD HH:mm:SS.SSS".

Do not forget to define password with argument --password, if backup was protected with password, or restoring will fail.

How to delete old diffs

You can delete old diffs to save disk space:

buro --purge --srcdir="<source directory>" --older=<period or date>

Argument srcdir is pointing to the repository folder. You can define the date (format is "YYYY-MM-DD HH:mm:SS.SSS") or period (format is "PxYxMxDTxHxMxS"). For example, older than 1 month is "P1M", older than 1 minute is "PT1M", older than 1 year is "P1Y", one month and 5 days is "P1M5D".

Filtering

It is possible to exclude some directories or files while backuping or restoring. Wildmasks "*" and "?" are supported. You can define more than one mask, just separate them with symbol ";". If argument --include is defined, only matched files will be proceeded. If argument --exclude is defined, matched files will be skipped. Examples:

buro --backup --srcdir="<source directory>" --dstdir="<destination directory>" --exclude="*.tmp;*.bak"

buro --restore --srcdir="<source directory>" --dstdir="<destination directory>" --include="documents*"