Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.user > #239934
| From | Richard Hector <richard@walnut.gen.nz> |
|---|---|
| Newsgroups | linux.debian.user |
| Subject | Re: copy directory tree, mapping to new owners |
| Date | 2021-09-13 01:50 +0200 |
| Message-ID | <CWHou-6Li-5@gated-at.bofh.it> (permalink) |
| References | <CWlQZ-11P-1@gated-at.bofh.it> <CWm0F-15d-3@gated-at.bofh.it> <CWmN3-1EN-1@gated-at.bofh.it> <CWrD3-56O-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 12/09/21 6:52 pm, john doe wrote:
> On 9/12/2021 3:45 AM, Richard Hector wrote:
>>
>> Thanks, that looks reasonable. It does mean, though, that the files
>> exist for a while with the wrong ownership. That probably doesn't
>> matter, but somehow 'feels wrong' to me.
>>
>
> If you are doing this in a script, I would use a temporary directory.
> That way, in case of failure the destination directory is not rongly
> modified.
>
> EG:
>
> $ rsync <src-dir> <tmp-dir>
>
> Make <tmp-dir> the way you want it to be.
>
> $ rsync <tmp-dir> <dest-dir>
That is true, but firstly it would require more available space, and
secondly, as long as I know about the failure, it doesn't worry me too
much. This is a script I will call manually.
> Given that you want to change the ownership, you may want to emulate the
> options implied by '-a' but without the ownership option ('-o').
I do that in my existing script (also not -g (group) or -D
(specials/devices (which don't exist there anyway)) - and sometimes -p
(permissions), if I've pre-created the tree with the permissions I want.
The last one is a slightly different use case, but I should make sure I
know which use case I'm trying for ...
>> My habits would also lead me to do all of the above from above the two
>> directories in question (in my case, /srv - for /srv/mysite/doc_root and
>> /srv/mysite_test/doc_root) So:
>>
>> cd /srv
>>
>> # actually not necessary? rsync will create it
>> mkdir -p mysite_test/doc_root
>>
>> # The trailing / matters. Does it matter on the source as well?
>
> According to the man page it does (1):
>
> "CWrsync -avz foo:src/bar/ /data/tmp
> A trailing slash on the source changes this behavior to avoid creating
> an additional directory level at the destination. You can think of a
> trailing / on a source as meaning lqcopy the contents"
>
>> # I generally include it.
>
> In a script, you need to be sure what the cmd does do or not do!!! :)
True. But many options I've learned from my everyday usage, and
sometimes forgotten the rationale - I just know it does what I want :-)
>> rsync -a mysite/doc_root/ mysite_test/doc_root/ # The trailing /
>> matters.
>>
>> find mysite_dest -user mysite -exec chown mysite_test {} +
>>
>> # I prefer mysite_test-run; it keeps consistency with
>> # the ${sitename}-run pattern used elsewhere
>> find mysite_dest -user mysite-run -exec chown mysite_test-run {} +
>>
>> Have I broken anything there?
>>
>
> Not that I can see but testing will tell!
>
>>> This is what I would do. And I would do it *interactively*.
>>>
>>> If you insist on making a script, then it will be slightly more
>>> complicated, because you'll need to add error checking.
>>
>> The trouble with doing it interactively, when it needs to be done many
>> times (and on several sites), is that each time there's opportunity to
>> make a mistake. And it means the process needs to be documented
>> separately from the script.
>>
>> In fact, I'd incorporate the above in a larger script, which does things
>> like copying the database (and changing the db name in the site config).
>>
>> Error checking in shell scripts is something I certainly need to learn
>
> At the very least, '<cmd> ['&&'|'||'] handle the error>.
>
> If you use Bash and don't need to be POSIX compliant and /or portable
> you can be a bit more creative.
Heh - you've cut my sentence in two, which appears to change the meaning
slightly :-)
" ... is something I need to learn and practice more".
You make it look like I need to learn error checking from scratch :-)
I am using bash. And I am currently using 'set -e' to handle that kind
of error globally. As I say, as long as I can see that it broke, it
doesn't matter too much.
>> and practice more - I tend to rely somewhat on 'knowing' what I'm
>> working with, which is probably not a good idea.
> >
>
> Yes in a script it is like shooting yourself in the foot.
I do test it.
Cheers,
Richard
Back to linux.debian.user | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
copy directory tree, mapping to new owners Richard Hector <richard@walnut.gen.nz> - 2021-09-12 02:50 +0200
Re: copy directory tree, mapping to new owners Greg Wooledge <greg@wooledge.org> - 2021-09-12 03:00 +0200
Re: copy directory tree, mapping to new owners Richard Hector <richard@walnut.gen.nz> - 2021-09-12 03:50 +0200
Re: copy directory tree, mapping to new owners john doe <johndoe65534@mail.com> - 2021-09-12 09:00 +0200
Re: copy directory tree, mapping to new owners Andrei POPESCU <andreimpopescu@gmail.com> - 2021-09-12 12:30 +0200
Re: copy directory tree, mapping to new owners Richard Hector <richard@walnut.gen.nz> - 2021-09-13 01:50 +0200
Re: copy directory tree, mapping to new owners <tomas@tuxteam.de> - 2021-09-13 09:10 +0200
Re: copy directory tree, mapping to new owners Richard Hector <richard@walnut.gen.nz> - 2021-09-14 08:20 +0200
Re: copy directory tree, mapping to new owners <tomas@tuxteam.de> - 2021-09-14 09:00 +0200
Re: copy directory tree, mapping to new owners David Wright <deblis@lionunicorn.co.uk> - 2021-09-14 15:50 +0200
Re: copy directory tree, mapping to new owners Richard Hector <richard@walnut.gen.nz> - 2021-09-15 01:00 +0200
Re: copy directory tree, mapping to new owners l0f4r0@tuta.io - 2021-09-12 09:00 +0200
Re: copy directory tree, mapping to new owners Curt <curty@free.fr> - 2021-09-12 16:30 +0200
Re: copy directory tree, mapping to new owners l0f4r0@tuta.io - 2021-09-12 18:40 +0200
Re: copy directory tree, mapping to new owners Richard Hector <richard@walnut.gen.nz> - 2021-09-13 01:50 +0200
Re: copy directory tree, mapping to new owners l0f4r0@tuta.io - 2021-09-12 09:20 +0200
Re: copy directory tree, mapping to new owners Teemu Likonen <tlikonen@iki.fi> - 2021-09-12 09:50 +0200
Re: copy directory tree, mapping to new owners <tomas@tuxteam.de> - 2021-09-12 10:10 +0200
Re: copy directory tree, mapping to new owners Richard Hector <richard@walnut.gen.nz> - 2021-09-13 02:10 +0200
csiph-web