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.

Reply via email to