[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: copy directory tree, mapping to new owners



Hi,

12 sept. 2021, 03:45 de richard@walnut.gen.nz:

> On 12/09/21 12:52 pm, Greg Wooledge wrote:
>
>> cd /src
>> mkdir -p /dest
>> rsync -a . /dest/      # The trailing / matters.
>> cd /dest
>> find . -user mysite -exec chown mysite_test {} +
>> find . -user mysite-run -exec chown mysite-run_test {} +
>>
>
> [...]
> # actually not necessary? rsync will create it
> mkdir -p mysite_test/doc_root
>
You can make a simple test to know that but I would say that rsync doesn't create your destination "root" directory (the one you specify on the command line) unless `--mkpath` is used.

> # The trailing / matters. Does it matter on the source as well?
> # I generally include it.
> rsync -a mysite/doc_root/ mysite_test/doc_root/      # The trailing / matters.
>
Actually, I'm not sure to understand Greg's remark here.

In my opinion, trailing slash doesn't matter for destination folder on the contrary of *source* folder.

In other words, for me, the following are equal:
rsync -a mysite/doc_root/ mysite_test/doc_root/
rsync -a mysite/doc_root/ mysite_test/doc_root

But not the following:
rsync -a mysite/doc_root mysite_test/doc_root => you will get an extra "doc_root" folder (the source one) in your dest, i.e. : mysite_test/doc_root/doc_root and then the content of doc_root source
rsync -a mysite/doc_root/ mysite_test/doc_root => your doc_root (destination) folder will get doc_root content (source) directly

Best regards,
l0f4r0


Reply to: