aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUGS7
-rw-r--r--DOCUMENTATION63
-rw-r--r--INSTALL10
-rw-r--r--TODO10
4 files changed, 0 insertions, 90 deletions
diff --git a/BUGS b/BUGS
deleted file mode 100644
index f04a598..0000000
--- a/BUGS
+++ /dev/null
@@ -1,7 +0,0 @@
-Known Bugs
-
-Filed: 1/11/2010
-Kernel: 2.6.32.3
-Bug: Aufs takes a long time to unmount.
-Fix: If using Ext4, mount with the 'nobarrier' option. No resolution known
- at this time for other FS's.
diff --git a/DOCUMENTATION b/DOCUMENTATION
deleted file mode 100644
index 9d346b4..0000000
--- a/DOCUMENTATION
+++ /dev/null
@@ -1,63 +0,0 @@
-SquashFu - an alternative backup solution
- Inspired by http://forums.gentoo.org/viewtopic-p-4732709.html
-
-Requirements: aufs, aufs2-util, squashfs-tools, rsync, bc
-
-Goal: To create a backup solution which provides incremental backups and compression,
- and which also provides an easy way to roll back.
-
-Design:
- A directory structure is created as follows (with some terminology included):
- backup_root/
- |- seed.sfs <-- squash, or seed
- |- .bin.list <-- bin inventory list (or binventory)
- |- ro/ <-- squash mount point
- |- rw/ <-- union mount point
- |- .bins/ <-- incrementals
- |-1/
- | .....
- | .....
- | .....
- | .....
- | .....
- |-n/
-
- seed.sfs is created from an initial backup and compressed using SquashFS, which is
- simply a filesystem which focuses on compression, but is read only. It's mounted,
- using a loopback device, on ro/. Using aufs2, a union mount is formed by ro/ and each
- of the numbered bins, each corresponding to an incremental backup.
-
- At the time of the backup, the next available bin is created and logged to an inventory
- sheet with a timestamp. A union is created with all the available bins, mounted in
- reverse chronological order on top of the seed (newest to oldest) on rw/. At this point,
- the union represents the state of your files at the end of the last backup. The newest
- branch is marked as read/write, and rsync is called. Because this top branch is the
- only writable location in the union, the files rsync generates with the -u (update)
- flag are placed into this branch. The backup finishes, and the union and seed are
- unmounted.
-
- At this point, Squashfu ensures compliance with the user's settings of MAX_BINS. If
- the current number of used bins exceeds this value, a new seed is generated. The
- number of old incrementals merged into the new seed is determined by the difference
- between MAX_BINS and MIN_BINS in the config file. In this way, you always have
- MIN_BINS available to roll back to, but you're not forced to recompress your seed
- at every backup -- an operation that may take a long time depending on how big
- your backup source is.
-
- If and when you want to roll back, execute Squashfu with the -R action, and supply
- the number of bins you want to roll back. The bins are ordered chronologically,
- and the oldest "number_of_bins - bins_to_rollback" are mounted on the union mount
- point.
-
-WARNING:
- You should not, under any circumstances, add or remove files contained in the bins,
- nor should you alter your binventory's time stamps. Doing so can result in non-recoverable
- damage to the integrity of the backups.
-
-Further reading:
- http://en.wikipedia.org/wiki/Aufs
- http://en.wikipedia.org/wiki/UnionFS
- http://aufs.sourceforge.net/
- http://en.wikipedia.org/wiki/SquashFS
- http://en.wikipedia.org/wiki/Rsync
-
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index 34f383a..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,10 +0,0 @@
-WARNING: EXTREMELY ALPHA. MAY SET YOUR CAT ON FIRE.
-
-If you don't care about your cat...
--Put etc/squashfu in /etc/squashfu
--Make a backup directory somewhere where you want your files
--Read over /etc/squashfu and set it the way you want
--Make a cron job to run this bad boy at the time you want
--Hang onto ya nuts.
-
-Some day this will be a real program.
diff --git a/TODO b/TODO
deleted file mode 100644
index ebbf7ec..0000000
--- a/TODO
+++ /dev/null
@@ -1,10 +0,0 @@
-TODO List
----------------------------------------
-In no particular order....
-
-- Create dispatchers for actions
-- Create options parser (and determine options)
-- Implement rollback functions
-- Add debug statements
-
-probably more...