Web lists-archives.com

Re: Running of rrequested tests - [was Re: Backup problem using "cp"]




On Tue 08 May 2018 at 22:39:55 (-0400), The Wanderer wrote:
> On 2018-05-08 at 13:48, Richard Owlett wrote:
> 
> > On 05/08/2018 10:38 AM, The Wanderer wrote:
> 
> >> Have you tried
> >> 
> >> stat /home/richard/.local/share/Trash/expunged/1449727740/grub2
> >> problem-2018-02-13/
> >> 
> >> and/or a 'ls' of the same directory?
> > 
> > After adding required quotation marks:
> 
> Yes, sorry about that - I noticed it after hitting Send.
> 
> >> richard@debian-jan13:~$ stat "/home/richard/.local/share/Trash/expunged/1449727740/grub2 problem-2018-02-13/"
> >>   File: /home/richard/.local/share/Trash/expunged/1449727740/grub2 problem-2018-02-13/
> >>   Size: 4096      	Blocks: 8          IO Block: 4096   directory
> >> Device: 80eh/2062d	Inode: 141462      Links: 3
> 
> Just for the sake of exhaustiveness, can you check the next level down,
> and confirm that it actually does have a different inode?
> 
> >> Access: (0700/drwx------)  Uid: ( 1000/ richard)   Gid: ( 1000/ richard)
> >> Access: 2018-05-08 08:10:45.509914304 -0500
> >> Modify: 2018-03-06 09:41:14.972933512 -0600
> >> Change: 2018-05-07 04:50:02.664296985 -0500
> >>  Birth: -
> 
> As David Wright points out, this indicates that this was last modified
> in early March, which should mean that it can't have been deleted in the
> meantime.
> 
> >> Since we've apparently confirmed that /media/richard/MISC-backups/
> >> is on a separate filesystem from /, it really looks to me as if
> >> this too-deep directory chain may exist within the source tree, in
> >> some form.
> >> 
> >> The only comment I've found from you on this point seems to be a
> >> statement that yes, such a chain existed, but after you deleted it,
> >> it came back the next time you tried the copy.
> > 
> > That is correct. Also I did the same before running today's test.
> 
> What method are you using to delete it?
> 
> If you haven't already, I'd recommend trying 'rm -r', *very* carefully,
> from a command prompt. (Unless you have an extremely unusual setup, that
> should avoid any possibility of an intermediary "Trash" to need emptying.)

As you're deleting a chain of directories, the appropriate command is rmdir.

This bash function might prove useful:

remove-empties () 
{ 
    [ -z "$1" ] && printf '%s\n' "Usage:	$FUNCNAME directories ...
	removes any empty directories under the directories given after prompting." 1>&2 && return 1;
    local IFS="
";
    find $* -depth -xdev -type d -empty -ok rmdir {} \;
}

though you could, for now, just cut and paste this line:

find /home/richard/.local/share/Trash/expunged/1449727740/ -depth -xdev -type d -empty -ok rmdir {} \;

Having to type y 161 times might serve as punishment :)

Alternatively, there's this function:

remove-empties-unprompted () 
{ 
    [ -z "$1" ] && printf '%s\n' "Usage:	$FUNCNAME directories ...
	removes any empty directories under the directories given WITHOUT prompting." 1>&2 && return 1;
    local IFS="
";
    find $* -depth -xdev -type d -empty -print -exec rmdir {} \;
}

which does the job more quickly. Remove the "-print" if you want it
done silently too.

(To Greg: is there a better IFS to use?)

Cheers,
David.