rsync incremental backup

henri henri at
Tue Feb 24 19:58:11 GMT 2009

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  

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

More information about the rsync mailing list