Age | Commit message (Collapse) | Author |
|
|
|
This prevents ALL TEH BACKUPS being copied back to the host.
|
|
|
|
The build-dependencies didn't include `txt2man` so manpages
were not being generated/installed correctly.
|
|
|
|
|
|
|
|
I've moved documentation out of README.md into the man/*.txt files to
convert to manpages.
|
|
Also updated the signatures of list_files and restore_files to match.
|
|
|
|
|
|
|
|
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`.
|
|
|
|
|
|
|
|
|