Web lists-archives.com

Re: Backup problem using "cp"




On Mon 07 May 2018 at 06:31:16 (-0500), Richard Owlett wrote:
> On 05/06/2018 10:11 AM, Thomas Schmitt wrote:
> >Hi,
> >
> >Richard Owlett wrote:
> >>Thought I was doing that by specifying -x.
> >
> >Either cp -x has a bug or the target directory is not in a different
> >filesystem than "/" and not a mount point of such a filesystem.
> >
> >Check the device numbers of "/" and "/media/richard/MISC...".
> >E.g. like this
> >
> >   $ stat / | fgrep Device
> >   Device: 803h/2051d      Inode: 2           Links: 25
> >   $ stat /bkp | fgrep Device
> >   Device: 814h/2068d      Inode: 2           Links: 7
> >
> >Here "/bkp" has a different device number (2068) than "/" (2051).
> >So it (its inode, to be exacting) is in a different filesystem.
> >
> >As contrast see a directory in the same filesystem as "/":
> >
> >   $ stat /home | fgrep Device
> >   Device: 803h/2051d      Inode: 2228225     Links: 60
> 
> I get:
> richard@debian-jan13:~$ stat / | fgrep Device
> Device: 80eh/2062d	Inode: 2           Links: 22
> richard@debian-jan13:~$ stat /media | fgrep Device
> Device: 80eh/2062d	Inode: 131073      Links: 5
> richard@debian-jan13:~$
> 
> I gather that "cp" is then an inappropriate tool.
> 
> "tar" is inappropriate for my preferences - I was attempting to use
> "cp" as there would be multiple files &/or directories as input
> *and* output.

If you have multiple outputs, I'm intrigued to know how you automate
the decision between writing to one output or another.

> I suspect long term I want "rsync" [ *MUCH* reading to do! ]
> 
> 
> >>Any way to accomplish that without explicitly listing all directories except
> >>/media ?
> >
> >If it is indeed a bug with cp -x, then you could use some archiver like
> >"tar" which has options to exclude a file.
> > > Get inspiration from googling "tar pipe for copying".
> 
> Although I wish to avoid "tar", I did get inspiration for a brute
> force method - I'll try it first before commenting.

I'm interested to know, if you have a file with a pathname that's,
say, 4090 characters long, how that gets written to a directory
whose name is more than half a dozen characters. IOW how does
tar succeed where cp failed?

Cheers,
David.