首页 > 代码库 > linux下使用scp在服务器之间拷贝文件 (转载)

linux下使用scp在服务器之间拷贝文件 (转载)

CentOS, 本地服务器,ip: 192.168.1.111
Ubuntu, 远程服务器,ip: 192.168.1.112

1.拷贝远程服务器的目录到本地服务器
远程服务器192.168.1.112上面/tmp目录下面有个test目录,里面有个文件名为test,内容也为test
root@ubuntu:/tmp# cat test/test 
test

拷贝远程服务器192.168.1.112的目录/tmp/test到当前目录下。
[root@CentOS_Test_Server tmp]# scp -r root@192.168.1.112:/tmp/test (服务器文件) ./(本地文件)
The authenticity of host ‘192.168.1.112 (192.168.1.112)‘ can‘t be established.
RSA key fingerprint is 64:76:a6:1e:23:76:ec:25:5e:c2:f3:ef:fc:ad:48:7b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.1.112‘ (RSA) to the list of known hosts.
root@192.168.1.112‘s password: 
test                                                                            100%    5     0.0KB/s   00:00 

注意拷贝到本地服务器后形成的目录结构为/tmp/test,而不是/tmp/tmp/test,一定要注意,这里比较容易混淆,经过自己亲自测试,再碰到类似的问题心里就有底了。
[root@CentOS_Test_Server tmp]# ls test/
test

2.拷贝远程服务器的文件到本地服务器
将1中拷贝过来的目录test删除
rm -rf test

[root@CentOS_Test_Server tmp]# ls -l | grep test | grep -v "grep"

拷贝远程服务器192.168.1.112的文件/tmp/test/test到当前目录下。
[root@CentOS_Test_Server tmp]# scp root@192.168.1.112:/tmp/test/test ./
root@192.168.1.112‘s password: 
test                                                                            100%    5     0.0KB/s   00:00
[root@CentOS_Test_Server tmp]# ls -l | grep test | grep -v "grep"
-rw-r--r-- 1 root  root     5 Sep 22 14:07 test

3.拷贝本地服务器的目录到远程服务器
在/tmp目录下面建立目录dir111,在此目录下创建文件file111,内容为file111
[root@CentOS_Test_Server tmp]# mkdir dir111
[root@CentOS_Test_Server tmp]# echo ‘content111‘ > dir111/file111
[root@CentOS_Test_Server tmp]# cat dir111/file111
content111

拷贝本地服务器的目录dir111到远程服务器的目录/tmp下

与上述1中类似,拷贝到远程服务器后形成的目录结构为/tmp/dir111,而不是/tmp/tmp/dir111,一定要注意,这里比较容易混淆。

不管拷贝命令是scp -r dir111 root@192.168.1.112:/tmp还是scp -r /tmp/dir111 root@192.168.1.112:/tmp,在远程服务器上面生成的目录结构均一样,我亲自测试过了。

[root@CentOS_Test_Server tmp]# scp -r /tmp/dir111 root@192.168.1.112:/tmp
root@192.168.1.112‘s password: 
file111                                                                         100%   11     0.0KB/s   00:00    

远程服务器192.168.1.112上面的内容
root@ubuntu:/tmp# ls
dir111  test  vmware-root
root@ubuntu:/tmp# cat dir111/file111
content111

4.拷贝本地服务器的文件到远程服务器
[root@CentOS_Test_Server tmp]# scp dir111/file111 root@192.168.1.112:/tmp
root@192.168.1.112‘s password: 
file111                                                                         100%   11     0.0KB/s   00:00 

远程服务器192.168.1.112上面的内容
root@ubuntu:/tmp# ls
dir111 file111  test  vmware-root

linux下使用scp在服务器之间拷贝文件 (转载)