rsync incremental backup

henri
Tue, 24 Feb 2009 19:58:20 -0000

LBackup lables each snap shot tree with Section.#. This is similar to
the way Lewis described for labeling the backups.

If you want to keep the directory structure intact with YYYY-DD-MM you
could have a post script which which generates symbolic links from the
Section.# to the YYYY-DD-MM format you wish to have for the backups in
another directory. If you require any assistance with such a script
then let me know I can give you a hand, if not and you just put one
together yourself then please submit the script to LBackup project so
it may be included with the next version of LBackup.

The advantage of using symbolic link for the YYYY-DD-MM naming is that
it is trivial to write a program to move forward and backward though
the backup sets while staying within the current directory. There is
in fact a tool to do this current LBackup alpha. The idea is that it
is then very easy to write other tools which scan forwards or
backwards though time for changes in the current directory, similar to
the way TimeMachine on Mac OS X works. This scanning feature will make
finding a specific revision of a file so much easier.

It would be possible to write a script which moves forward and
backward though the YYYY-DD-MM naming but it is that much more
complex. In addition, it makes changing the date display just a simple
change to symbolic link generation. For example altering the display
from YYYY-DD-MM to YYYY-MM-DD by changing nothing more than the
symbolic link generation post script. Any tools which scan forwards
and backwards will still work fine no matter how you name the symbolic
links.

Hope this helps.


> On 23-Feb-2009, at 01:27, Louis-David Mitterrand wrote:
> > Presently I have the latest full backup in a 'current'
directory and
> > 30
> > day incrementals in 'YYYY-MM-DD' format directories. Without
> changing
> > that directory structure I'd like the 'YYYY-DD-MM'
directories to
> > contain the full system hardlinked (when applicable) to
'current'.
> >
> > What rsync command-line options could provide me with this?
>
> I use:
>
> /usr/local/bin/rsync -aCHh --delete-after --delete-excluded \
>    --exclude="/backup/" --exclude-from=/var/.rexcludes \
>    --link-dest="${BAKLOC}.1" / ${BAKLOC}.0
>
> where $BAKLOC has been defined.  You could certainly modify it to do
> --link-dest="${YDAY} / current
>