Re: scp -rp behavior(SOLVED)

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



On Sun, March 1, 2015 9:44 am, Mark LaPierre wrote:
> On 02/26/15 19:45, Valeri Galtsev wrote:
>>
>> On Thu, February 26, 2015 6:34 pm, Mark LaPierre wrote:
>>> Hey all,
>>>
>>> I'm trying to copy configuration files from my old CentOS 6.6 32 bit
>>> machine to my new CentOS 6.6 64 bit machine.
>>>
>>> On my 32 bit machine:
>>>
>>> [mlapier@mushroom ~]$ ifconfig
>>> eth0      Link encap:Ethernet  HWaddr 00:19:DB:E5:4E:9F
>>>           inet addr:192.168.15.105
>>>
>>> When I issue this command on my new 64 bit machine, 192.168.15.101:
>>>
>>> scp -pr mlapier@192.168.15.105: /home/mlapier/.thunderbird
>>> /home/mlapier/.thunderbird
>>
>> How about escaping dot (with backslash) for the remote machine, or just
>> giving the whole path for remote machine in quotes:
>>
>> scp -pr mlapier@192.168.15.105:"/home/mlapier/.thunderbird"
>> /home/mlapier
>>
>> ?
>>
>> Also, if you want to specify destination directory (say with different
>> name) you will need to end directory with forward slash both on local
>> and
>> remote, like:
>>
>> scp -pr mlapier@192.168.15.105:"/home/mlapier/.thunderbird/" \
>> /home/mlapier/.thunderbird/
>>
>> (this should be one line which didn't fit for me in one line hence
>> backslash...)
>>
>> Valeri
>>
>>>
>>> It copies all directories and files in 192.168.15.105: /home/mlapier/
>>> to
>>> 192.168.15.101: /home/mlapier.  I don't want all that, I just want the
>>> .thunderbird folder and all it's contents.
>>>
>>> The user and group account numbers match on the two machines for this
>>> user so that's not the issue.
>>>
>>> When I RTFM this is what I thought it said to do.  I'm I misreading the
>>> FM or is something weird going on here?

>
> Putting the source path in quotes, because of the dot, like this:
>
> scp -pr mlapier@192.168.15.105:"/home/mlapier/.thunderbird" /home/mlapier
>
> worked.
>
> If the destination also contains a dot or other such character then put
> the destination in quotes too:
>
> scp -pr mlapier@192.168.15.105:"/home/mlapier/.thunderbird"
> "/home/mlapier/.thunderbird"

Theoretically, you don't need to "escape with backslashes" or put in
quotes these things for paths on local machine. As everything that is not
escaped is expanded on local machine, this doesn't screw things up (the
best example: "~" is expanded into the value of path to user's home
directory. if it is escaped in the remote argument, the symbol "~" is
passed verbatim to the remote machine and is expanded on remote machine
(which you probably intend when using "~" in remote argument). Otherwise:
if it is not escaped, your shell on local machine expand "~" the way it
should be on local machine and passes the result of expansion to remote
machine, which may be different.

>
> but only include the destination directory if the destination directory
> does not yet exist otherwise you will get a copy of the source directory
> inside the destination directory like this:
>
> /home/mlapier/.thunderbird/.thunderbird


True, but only if you do not appends directory names with forward slashes.
However, if you append the directory in both arguments with forward slash,
what you say will not happen. E.g., say, /destination does exists, then:

rsync -avu /source/ /destination/

will result in /destination updated with all new stuff in /source (unless
something extra or newer is there in /destination, /desination becomes the
same as /source).

However, if you do not append directory name with forward slashes, the
behavior will be different, and will be exactly as you have described:

rsync -avu /source /destination

if /destination directory exists will put /source inside /destination.

So: appending directory name with slash changes rsync behavior as in
examples above. Is there anything I missed (or "messed" ;-) - anybody?

Valeri

++++++++++++++++++++++++++++++++++++++++
Valeri Galtsev
Sr System Administrator
Department of Astronomy and Astrophysics
Kavli Institute for Cosmological Physics
University of Chicago
Phone: 773-702-4247
++++++++++++++++++++++++++++++++++++++++
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos




[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux