glastree 1.06 stable Overview Builds live backup trees, with branches for each day. Users directly browse the past to recover older documents or retrieve lost files. Hard links serve to compress out unchanged files, while modified ones are copied verbatim. A prune utility effects a constant, sliding window. Satoru Takabayashi has writen a similar program, in Ruby, "pdumpfs":http://namazu.org/~satoru/pdumpfs. Installation Requires perl Date::Calc module to be installed Edit install variables in Makefile, then 'make install' :: # su # make install Examples Backup home directory to /vol02/backup :: # mkdir /vol02/backup # glastree ~ /vol02/backup You will subsequently see directories such as :: /vol02/backup/200105/26/blah/blah /vol02/backup/200105/27/blah/blah ... Backup my Mail files to /backup/joe/Mail (a directory I own), everyday at 4am, keeping last 35 days :: 0 4 * * * glastree Mail /backup/joe/Mail ; \ glastreeprune --days=35 /backup/joe/Mail | xargs -- rm -fr As root, backup /home; user trees will be self-owned :: # su # glastree /home /backup New in 1.06: --resume will skip any files that already exist at the target. Note that this does NOT check that they are the same, and a crash might leave the file or file being copied at the time in an indeterminate state. --verbose lists files as they are being transferred. License Released into the public domain. I provide no warranty, accept no responsibility, etc. Contact Jeremy Wohl, jeremywohl at the gmail, "code homepage":https://github.com/jeremywohl/glastree. I appreciate feedback, patches or anecdotes. Resume and Verbose added by robert@irrelevant.com 2017/03/05.