Order does indeed matter _ and_ there is an implicit include "all" at the end, so that the slightly simpler following command should also work:
rdiff-backup --terminal-verbosity 5 \ --include /tmp/from/.2 \ --exclude /tmp/from/.\* \ --exclude /tmp/from/2 \ /tmp/from ./to. It basically depends if you want to save the full path or not. K R, Eric. On January 9, 2023 11:42:10 AM UTC, Tobias Leupold <t...@stonemx.de> wrote: >Yay, I made it :-D ;-) > >The --include and --exclude order actually DOES matter. > >If invoked like so: > > rdiff-backup --terminal-verbosity 5 \ > --include /tmp/from/.2 \ > --exclude /tmp/from/.\* \ > --exclude /tmp/from/2 \ > --include /tmp/from/\* \ > --exclude / \ > / ./to > >I get what I want: > > Processing changed file . > Processing changed file tmp > Processing changed file tmp/from > Processing changed file tmp/from/.2 > Processing changed file tmp/from/1 > Processing changed file tmp/from/3 > >A bit hard to figure out, but it works! > >Thanks again for helping! > >Am Montag, 9. Januar 2023, 10:31:53 CET schrieb Tobias Leupold: >> 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 > > > > >