rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to exclude all dotfiles in a folder but include a specific set?


From: Tobias Leupold
Subject: Re: How to exclude all dotfiles in a folder but include a specific set?
Date: Mon, 9 Jan 2023 10:31:53 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1

Hi Eric!

Thanks for yout reply!

The problem is that I don't know the complete list of the "normal" folders I want to include. But I know a complete list of dotfiles I want to include.

So, if we have

/tmp/from/1
/tmp/from/2
/tmp/from/3
/tmp/from/.1
/tmp/from/.2
/tmp/from/.3

I want to exclude all the files starting with a ., but include a list of specific files starting with a ".", e.g. /tmp/from/.2 (at this point, it's not a problem yet I think ...).

But I also want to include all the regular files and folders from /tmp/from, with e.g. the exception of /tmp/from/2. But I don't know the list to include. And that's the problem -- there could also be /tmp/from/4, /tmp/from/5 and so on.

Now if I do

    rdiff-backup \
        --include /tmp/from/\* \
        --exclude /tmp/from/2 \
        --include /tmp/from/.2 \
        --exclude /tmp/from/.\* \
        --exclude / \
        / ./to

all the files from /tmp/from are included (also /tmp/from/2 and all the /tmp/from/.whatever files) no matter the order of the --include and --exclude statements.

I also tried to mess with --include-regexp, but e.g. this:

    rdiff-backup --terminal-verbosity 5 \
        --include-regexp "/tmp/from/[^\.].+" \
        --exclude / \
        / ./to

leads to no files included at all ...

Am 09.01.23 um 07:16 schrieb Eric Zolf:
Hi Tobias,

what about something like:

mkdir /tmp/from
touch /tmp/from/.{un,}wanted /tmp/from/also{un,}wanted

rdiff-backup -v5 backup \
     --include /tmp/from/.wanted --exclude /tmp/from/.\* \
     --include /tmp/from/alsowanted --exclude /tmp/from/\* \
     /tmp/from /tmp/bak

(and /tmp/bak contains then only the wanted files)

So first the includes, then the corresponding excludes. It shouldn't make a difference if from the command line using --include/exclude or using files with --include/exclude-globbing-filelist

Hope this helps,
Eric

On 08/01/2023 23:32, Tobias Leupold wrote:
Dear list,

I use rdiff-backup to do automated backups on my server. I backup /, but I exclude everything and only include what I need. E.g. I use the following call

     rdiff-backup --include-globbing-filelist /etc/backup.include \
                  --exclude / \
                  / /backup/data

and specify a list of folders I want in /etc/backup.include, e.g.

     /etc/crontab
     /etc/postfix
     /etc/dovecot
     /usr/local/bin
     /usr/local/sbin
     /srv

That works just fine.

Now I'm trying to adapt this to a machine with similar requirements, but
including some parts of a home directory.

What I can't get to work is: I want to include the home directory, but without
all the .whatever files. But I want SOME of them.

E.g. I want:

     /etc/some/config_file
     /etc/some/other/config_file

And also all the "normal" files and folders in /home/my_user

     /home/my_user/folder_1
     /home/my_user/folder_2
     /home/my_user/foo
     /home/my_user/bar

and so on, but I don't want

     /home/my_user/.*

but I DO want a defined set of dotfiles, e.g.

     /home/my_user/.ssh
     /home/my_user/.local/share/foo

I can't get this to work. I played around a lot with --include-globbing-
filelist, --exclude-globbing-filelist, --include and --exclude, but either, I get none of the .whatever files inside /home/my_user, or I get all of them.

Is it possible to do this? Thanks in advance for all help!

Cheers, Tobias







reply via email to

[Prev in Thread] Current Thread [Next in Thread]