| Age | Commit message (Collapse) | Author | 
|---|
|  | Also only the latest copy is returned by default, unless :verbose or
:all are set in the options, in which case all the copies, or just the
unique copies are returned. | 
|  | * Reinstated --list (although this is a no-op really)
* Changed --list-all to -all
* Checks to made to make sure only --restore or --list is given
* | 
|  | Including checking that only one of --complete, --ping, or --list are
called. | 
|  |  | 
|  | Otheriwse you end up with your current directory owned by
byteback:byteback (or whoever owns the byteback_root). | 
|  | * Verbose is now caught properly
* --all is caught and removed | 
|  | Oops. | 
|  | This allows the user to specify --xattrs --acl --hard-links etc. | 
|  | This is for consistency and understanding.  We use btrfs snapshots, so
this makes sense.  To me at least. | 
|  | Hopefully this will prompt people to update. | 
|  | This is required for Time#parse | 
|  | I'd changed some of the arguments to the functions, and not updated the
tests.  So much for TDD..! | 
|  |  | 
|  | The byteback-restore command now uses the rsync xattrs to display
information about the files due to be restored.  It can handle filenames
with spaces (!) and other characters. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | /etc/byteback/excludes file between runs can stop your next backup
completing. | 
|  |  | 
|  | We've switched the default from --delete-after to --delete-during.
The intention being that we'll free up space during the rsync run,
rather than having to wait until all data has transferred, hoping
it will fit before deletion. | 
|  |  | 
|  | If the /etc/byteback/pre-backup.d/ directory is present then
execute the contents. | 
|  | This is required as we're essentially passing the value to the
command-line, via fork()+exec(). | 
|  | This avoids a backtrace, and shows a clean reason for failure. | 
|  | If the directory /etc/byteback/post-backup.d/ exists then run
all scripts in it, once we've completed our run. | 
|  | Moved the functions to the top of the script, wrap the body
of the program in a test to ensure we're being invoked. | 
|  | At the moment we kill the rsync if there is no I/O for the given
period (6 hours previously, 3 after this commit lands) and then
retry the rsync connection up to three times.
This meant that a backup could take no more than 3x6 = 18 hours
but that was too long.  Now we'll be 3x2 = 6 hours and that should
be sufficient that transient failures are handled, but
never-gonna-complete cases fail in a timely fashion. | 
|  | This is useful to speed up backups, because otherwise they will
be I/O-bound and the CPU-overhead is a net-win. | 
|  | Rather than having a hard-wired value we now allow this to be
specified on the command-line:
                --io-timeout=7200
Or in a file:
                /etc/byteback/io_timeout | 
|  | We don't use the environmental variable, which was never documented,
instead we either:
        * Log to the console when running interactively.
        * Log to syslog otherwise. | 
|  |  | 
|  | Now we use the utility classes we have to log errors to syslog. | 
|  | This takes each snapshot on-disk, and uses an intermediary snapshot,
to essentially change the ownership of all snapshots from `root`
to `byteback`. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | This simplifies the installation script significantly. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | This involved fixing the literal TAB characters, changing the quotes,
and similar non-functional edits. | 
|  | This involved reformatting the code to remove TAB characters,
changing " -> ', & etc. | 
|  |  |