Dave Howorth - [EMAIL PROTECTED] wrote:
Kelsey Cummings wrote:
I just wanted to check to see if anyone using dirvish had already hacked it to allow specification of multiple trees in a single config yet. The method outlined in the url below is not so much and would be a real issue to maintain over the number of systems that we plan on backing up with dirvish. http://www.dirvish.org/pipermail/dirvish/2006-April/000680.html

Off the top of my head, isn't the answer to this requirement:

I have a Filesystem like this:
/etc
    1
    2
    3
      3.1
/home
    4
    5

I would like to save 1, 3.1, 5.
An all in one vault.

something like this?:

  tree: /
  exclude:
        + /etc/1
        + /etc/3/3.1
        + /home/5
        - /*

That doesn't look too difficult to maintain. What am I missing?

Cheers, Dave


That won't backup anything. Rsync works recursively, so it would exclude all of /etc and /home without even checking for /etc/1 and the other subdirectories. You need to specifically include /etc/, include /etc/1, and so on, and exclude the rest of /etc with - /etc/* . So the proper syntax would be:

tree: /
exclude:
        + /etc
        + /etc/1
        + /etc/3
        + /etc/3/3.1
        - /etc/3/*
        - /etc/*
        + /home
        + /home/5
        - /home/*
        - /*

Note that there must be a space between the + or - and the path. The dashes are not necessary, they are assumed if neither is specified, since it is an exclude list. I added them for clarity. I'm pretty sure that you don't need trailing slashes on the include line, but you may need to test that out. Also note that this is a more realistic solution than just excluding 2 and 4. This exclude list makes sure to copy only what you want, and nothing else, even if more directories are added to /etc, /etc/3, or /home.

You must specifically include each directory in the path to the directory to want to include, and then you must specifically exclude everything else in each of those directories. So, if you want to include the contents of /a/b/c/d/e/f and the contents of /z, you would need to use:

tree: /
exclude:
        + /a
        + /a/b
        + /a/b/c
        + /a/b/c/d
        + /a/b/c/d/e
        - /a/b/c/d/*
        - /a/b/c/*
        - /a/b/*
        - /a/*
        + /z
        - /*



As far as ease of maintainability, it gets difficult if you need to backup things that are "deep" in the filesystem, with a long path. Otherwise, it's not too bad.

You should read the "INCLUDE/EXCLUDE PATTERN RULES" section in the rsync man page to understand how it really works. See also http://www.dirvish.org/pipermail/dirvish/2006-October/001050.html



Hope this helps,
Yoav Klein
_______________________________________________
Dirvish mailing list
[email protected]
http://www.dirvish.org/mailman/listinfo/dirvish

Reply via email to