开发者社区> 技术小牛人> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux两台服务器间复制文件scp

简介:
+关注继续查看
  • 换服务器或添加服务器时常会用到两台服务器之间复制文件,这个时候就可以使用scp命令。


    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。


    两台主机之间复制文件必需得同时有两台主机的复制执行帐号和操作权限。

    scp一般有六种使用方法:

    本地复制远程文件:(把远程的文件复制到本地)

    scp root@www.test.com:/val/test/test.tar.gz /val/test/test.tar.gz 

    远程复制本地文件:(把本地的文件复制到远程主机上)

    scp /val/test.tar.gz root@www.test.com:/val/test.tar.gz

    本地复制远程目录:(把远程的目录复制到本地)

    scp -r root@www.test.com:/val/test/ /val/test/

    远程复制本地目录:(把本地的目录复制到远程主机上)

    scp -r /val/ root@www.test.com:/val/

    本地复制远程文件到指定目录:(把远程的文件复制到本地)

    scp root@www.test.com:/val/test/test.tar.gz /val/test/

    远程复制本地文件到指定目录:(把本地的文件复制到远程主机上)

    scp /val/test.tar.gz root@www.test.com:/val/


    注意:前面的一个是待复制的文件或目录,后面的一个是指定复制到哪里。如:

    scp /val/test.tar.gz root@www.test.com:/val/test.tar.gz

    中的前面 /val/test.tar.gz 是要复制的文件,后面root@www.test.com:/val/test.tar.gz是指定复制到哪里和对应的文件名。如果两个对换则功能相反。如果要复制的是目录则使用  -r 参数递归复制目录。



    当同时有多个服务器的文件要复制到本地目录:

    scp root@192.168.0.1:/var/cp1.tar.gz root@192.168.0.2:/var/cp2.tar.gz /var/tmp/


    注意:最后面的一个必需是目录,前面的必须是文件,才能成功批量复制,复制中会提示多次输入密码。


    [root@localhost ~]# scp --help
    usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
               [-l limit] [-o ssh_option] [-P port] [-S program]
               [[user@]host1:]file1 ... [[user@]host2:]file2


    命令参数:
    -1  强制scp命令使用协议ssh1  
    -2  强制scp命令使用协议ssh2  
    -4  强制scp命令只使用IPv4寻址  
    -6  强制scp命令只使用IPv6寻址  
    -B  使用批处理模式(传输过程中不询问传输口令或短语)  
    -C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能)  
    -p 保留原文件的修改时间,访问时间和访问权限。  
    -q  不显示传输进度条。  
    -r  递归复制整个目录。  
    -v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。   
    -c cipher  以cipher将数据传输进行加密,这个选项将直接传递给ssh。   
    -F ssh_config  指定一个替代的ssh配置文件,此参数直接传递给ssh。  
    -i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。    
    -l limit  限定用户所能使用的带宽,以Kbit/s为单位。     
    -o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,   
    -P port  注意是大写的P, port是指定数据传输用到的端口号   
    -S program  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

本文转自  ttlxihuan    51CTO博客,原文链接:http://blog.51cto.com/php2012web/1614282

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《高性能Linux服务器构建实战》——导读
本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的目录,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看
1278 0
《高性能Linux服务器构建实战》——2.8节本章小结
本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的第2章,第2.8节本章小结,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看
1097 0
《高性能Linux服务器构建实战》——3.5节本章小结
本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的第3章,第3.5节本章小结,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看
1146 0
《高性能Linux服务器构建实战》——1.9节本章小结
本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的第1章,第1.9节本章小结,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看
1013 0
《高性能Linux服务器构建实战》一书纠错汇总
PS:  Thanks kumu for this book! 1:第5页 在“安装Nginx所需的pcre-devel库”一小节中,缺少了configure的步骤,完整的步骤是: [root@localhost home]# tar zxvf pcre-8.02.tar.gz [root@localhost home]# cd pcre-8.02 [root@localh
1427 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ECS系统指南之Linux系统诊断
立即下载
ECS运维指南 之 Linux系统诊断
立即下载
Decian GNU/Linux安全合规之路
立即下载