Re: How to exclude all dotfiles in a folder but include a specific set?
[email protected] Tue, 10 Jan 2023 14:19:02 -0800
| Newsgroups | gmane.comp.sysutils.backup.rdiff-backup.general |
|---|---|
| Message-ID | <[email protected]> |
Yeah, I do that (except using Debian/testing) with duplicity <https://duplicity.gitlab.io/> for my encrypted off-site backup since it doesn't provide a windows build, but haven't with rdiff-backup because I assumed its Windows build would work better (this is for my existing backups of my financial documents). Maybe I should rethink that for this new backup I'm starting (and maybe for the existing backup too). Unfortunately I doubt I'll be able to reuse my existing backup repo with either cygwin or WSL because the paths will be different. On 2023-01-10 14:02, Reio Remma reio-at-mrstuudio.ee |rdiff-backup-users| wrote: > I'm personally using WSL2 / AlmaLinux 9 to run rdiff-backup on Windows > files. > > Good luck > Reio > > On 10.01.2023 22:43, EricZolf wrote: >> You could try to use the cygwin version of rdiff-backup, because >> cygwin maps all drives under /cygdrive. Disclaimer: I didn't try and >> it's been ages since I used last cygwin. >> >> KR, Eric >> >> On January 10, 2023 12:52:09 PM UTC, Patrik Dufresne >> <[email protected]> wrote: >>> On windows, if you want to backup C: and H: you must execute >>> rdiff-backup >>> twice. Once for C: and another for H: with a different destination. >>> >>> I tried to quickly search the documentation for a reference, but I >>> could >>> not find it... >>> >>> >>> On Tue, Jan 10, 2023 at 1:03 AM <[email protected]> wrote: >>> >>>> Nice, I haven't used --include/exclude before, but I have a use >>>> case now >>>> so I want to try it. >>>> >>>> How do I make this work on Windows where there isn't (AFAIK) a common >>>> root for all the drives? For example I want to do >>>> rdiff-backup \ >>>> --include C:/from1 \ >>>> --exclude C:/from1/exclude1 \ >>>> --exclude C:/from1/exclude2 \ >>>> --include H:/from2 \ >>>> --exclude H:/from2/exclude3 \ >>>> --include C:/from3 \ >>>> sourcedir \\nas4free\my-backup.rdiff-backup >>>> but I don't know what I can use for sourcedir that will allow me to >>>> include directories from both C: and H:. The 3 included >>>> directories are >>>> all logically related so I prefer to back them up to a single >>>> repository. Is there a way to do this on Windows? >>>> >>>> >>>> On 2023-01-09 12:30, EricZolf ewl+rdiffbackup-at-lavar.de >>>> |rdiff-backup-users| wrote: >>>>> 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 <[email protected]> >>>> 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 >>>>>> >>>>>> >>>>>> >>>> >>>> > >