[CentOS] Rsync and full path of filenames

Wed Oct 28 17:24:37 UTC 2009
Lucian @ lastdot.org <lucian at lastdot.org>

On Wed, Oct 28, 2009 at 5:18 PM, Niki Kovacs <contact at kikinovak.net> wrote:
> Hi,
>
> I have a bit of a tricky question about rsync.
>
> Let's say I want to backup a bunch of configuration files with rsync, in
> a script.
>
> What I don't want to do : a full snapshot of /etc.
> What I want to do : backup only those files I need, in an otherwise
> empty directory tree.
>
> In my script, I'd begin with a list of the files I effectively want to
> backup. Something like :
>
> /etc/httpd/conf/httpd.conf
> /etc/httpd/vhosts.d/*.conf
> /etc/exports
>
> Then I'd have some other files in /usr/local/bin and /usr/local/sbin,
> which I would like to backup too.
>
> Instead of a puzzling explanation, let me just show you how I would like
> my resulting backup to look like, so you get the idea :
>
> etc/
> `-- httpd
>     |-- conf
>     |   `-- httpd.conf
>     `-- vhosts.d
>         |-- site1.conf
>         |-- site2.conf
>         `-- site3.conf
>
> usr/
> `-- local
>     |-- bin
>     |   |-- script1.sh
>     |   `-- script2.sh
>     |-- sbin
>     |-- sbinscript3.sh
>     `-- sbinscript4.sh
>
> Now if I do something like this :
>
> rsync -av /etc/httpd/conf/httpd.conf destinationfolder/
>
> I get something like :
>
> destinationfolder/httpd.conf
>
> QUESTION (at last) : is there a way rsync can somehow add the full file
> path, so the end result is more like :
>
> destinationfolder/etc/httpd/conf/httpd.conf ?
>
> Any suggestions ?
>
> Niki
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>

Hi Nikki,

I don't think you can do that with rsync out of the box. You need to
script your way around it.
One thing I can advise is to use rdiff-backup, this one is based on
rsync and can create full-paths, as well as incremental backups (e.g.
you could restore a file and see how it looked 2 weeks ago).
Rdiff-backup should be available from RPMForge.