On Wed, Sep 21, 2022 at 04:29:07PM +0100, jr wrote: > $ locate /jr/ | > > grep -v -e /.cache/ -e /tmp/ | > > sed -e 's#/home/jr/##' > > that is (one way) how the "ACTUAL CONTENTS" are arrived at.
That listing almost certainly includes subdirectory names. Hence your issues. You're feeding both a filename *and* its containing directory name to tar. Tar recurses into the directory whose name you have fed it, and then also grabs the file whose name you have fed it. That's why you're getting duplicates. As I told you several posts ago, if you're feeding "find" output -- or in your case, "locate" output, which has the exact same characteristics -- to tar, then you need to use GNU tar's "--no-recursion" option. Also, it boggles my mind that you don't have a SINGLE file with spaces in its name in your entire home directory. Apparently, you don't run Steam or Google Chrome. Consider this my final warning, that any backup scheme which fails to backup files with spaces in their names is going to leave you with an incomplete backup some day. That day might even be today. Finally, your backup, being based on "locate" rather than "find", is going to miss any files that were created after the most recent updatedb run. I find this to be an incredibly strange choice. Maybe your files just aren't that important to you. I can't guess why.