Dependencies

python

Optional Dependencies

rsync — for mirror backups

rdup — for incremental backups

cdrkit — for incremental backups

tar — for incremental backups

Usage

% bufe backupname

Configuration

$XDG_CONFIG_HOME/bufe/bufe.conf — main config file

[backupname1]
type = incremental
source = ~
destination = /path/to/files/to/burn/to/disk
tmp = /tmp
splitsize = 600M
pre-mandatory = False
post-mandatory = False

Does an incremental backup to 600M (or less) tarfiles Delete $XDG_CONFIG_HOME/bufe/backupname1-* to do a complete backup

[backupname2]
type = mirror
source = ~
destination = /my/backup/device
preserve = True
pre-mandatory = True
post-mandatory = True

Mirrors ~ to /my/backup/device Files to be excluded from backup are listed in $XDG_CONFIG_HOME/bufe/backupname2-exclude. See rsync manual for how to format the exclude file.

[backupname3]
type = snapshot
source = ~
destination = /my/backup/device
preserve = True
pre-mandatory = True
post-mandatory = False
keep daily = months # defaults to 3
keep weekly = years # defaults to 2

Takes rsync snapshots (ie hardlinks identical files to save space, saves each snapshot in a dated directory). Options are as before. The keep daily option specifies for how many months daily snapshots will be kept. After this time, snapshots will be stripped down to one per week, keeping only Mondays. The keep weekly option specifies for how many years weekly snapshots will be kept. After this time, snapshots will be stripped down to one per 4 weeks (week numbers that are divisible by 4 will be kept).

The preserve option tells bufe whether file ownership and permissions should be preserved.

The pre-mandatory option tells bufe whether it should exit or continue if the pre- script fails. If you use the pre- script to mount a sshfs share or similar, set this to True.

The post-mandatory option tells bufe whether it should exit or continue if the pre- script fails. If you use the post- script to unmount a sshfs share or similar, set this to True.

Pre- and Post- scripts

Executable file (probably a script) named $XDG_CONFIG_HOME/bufe/backupname-pre will be executed before running the backup.

Executable file (probably a script) named $XDG_CONFIG_HOME/bufe/backupname-post will be executed after running the backup.