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.