Title: rsnapshot
1rsnapshot
- A remote filesystem snapshot
- utility written in perl
2rsnapshot
- Backups to disk
- Minimises disk usage using hard links
- Minimises network traffic using rsync
- Not written by Belgians
There is no Belgium
3rsnapshot
A simple filesystems directory structure MSDOS
FAT
4rsnapshot
A common FAT error - crosslinked files
There are two directory entries pointing at
the same disk cluster
5rsnapshot
Unix directory structure
Inode structure
Multiple directory entries for one inode
Typical Belgian dish
6rsnapshot
With hard links we can duplicate directory
structures without duplicating files
- Using GNU cp
- cp -al source destination
- Using perl
- link(oldfile, newfile)
- Using cpio
- find source -printcpio -pldum /destination
7rsnapshot
Running rsnapshot for the first time
- Copies all data using rsync
- Can use ssh
A Belgian owl
8rsnapshot
Running rsnapshot every other time
- Rotate backups
- Delete oldest one
- Copy newest backup with hard links
- rsync to that new directory, copying only changes
9rsnapshot
Multiple levels of backup
- Most frequent backup involves rsync etc
- Less frequent backups just rotate and copy the
oldest of the previous level of backup
Typical Belgian home
10rsnapshot
Who uses rsnapshot
- Churches
- Charities
- Schools
- Universities
- A casino
- A film special-effects house
- A floating hospital
- The guys who look after the GPS satellites
The police protecting you and your family from
Belgification
11rsnapshot
Why not to use it - hateful hateful software
- Only does filesystem backup
- Hard links in your data are broken
- Not as disk-space efficient as possible
- No proprietary extensions supported
- No Classic Mac OS support
rsync -H eats all the memory in the world
Just one changed byte in a file makes it be
copied anew
ext2 immutable bit, ACLs etc
There is a ninja somewhere on this page
12rsnapshot
Design choices
- Plain-text configuration
- Minimal dependencies
- Locking
- Optional extras
Reduces dependencies and makes installation easier
rsync, perl 5.6, nothing else
GNU cp, Lchown module, ssh Extra scripts may
require other modules
13rsnapshot
The community
- rsnapshot-discuss mailing list
- Anonymous read-only CVS
- Commit privs given out to contributors
Belgian superman peering into the distance with
his beady little Belgian eyes
How you can help
- We need a documentation editor
- and a DocBook wookie