Skip to content
/ fbackup Public

Perform incremental backups using a fossil repository as a storage.

License

Notifications You must be signed in to change notification settings

gahr/fbackup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

fbackup

Perform incremental backups using a fossil repository as a storage. Each backup ends up in a new commit where files are added / removed / modified according to their staus with respect to the previous commit.

Files to include / exclude from the backup are specified in a configuration file (see -conf option below), which consists of one "include" and one "exclude" section, in which files or directories to include / exclude from the backup are listed, separated by whitespace (\n, \t, space, ...). Directories are searched recursively. Example:

include {
    /path/to/file/to/include
    /path/to/directory/to/include
    /another/1 another/2 another/3
}
exclude {
    /path/to/file/to/exclude
    /path/to/directory/to/exclude
}

In addition, the exclude-match section provides a way to exclude files which name match one of the listed patterns.

exclude-match {
    *.tar.gz
    *.exe
}

The software is written in Tcl and depends on fossil, and tcllib. Files are hard-linked from their location on disk into the temporary checkout using cpio.

Usage:

fbackup : ./fbackup.tcl [options]
options:
 -conf   value    Path to the backup list file      <./fbackup.list>
 -cpio   value    Path to the "cpio" executable     </usr/bin/cpio>
 -fossil value    Path to the "fossil" executable   </usr/local/bin/fossil>
 -name   value    Name of the backup project        <Backup>
 -repo   value    Path to the repository file       <./fbackup.fossil>
 --               Forcibly stop option processing
 -help            Print this message
 -?               Print this message

About

Perform incremental backups using a fossil repository as a storage.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages