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
相关文章
|
10天前
|
安全 Java Linux
Websoft9:为开发者打造的高效 Linux 服务器面板
Websoft9 是一款以开源应用部署与管理为核心的服务器面板,采用“环境即服务”模式。它通过运行环境标准化、自动化配置、安全融合和资源管理四个方面实现平台与环境的深度协同。支持多语言框架预集成、云原生组件整合,提供 200+ 应用模板一键部署,并具备全流程安全防护和统一资源监控能力,助力开发者高效管理和扩展应用环境。
36 0
|
12天前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
38 5
Linux 常用文件查看命令
|
24天前
|
存储 Linux Shell
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
33 2
Linux|Transfer.sh 轻松实现文件共享
|
27天前
|
关系型数据库 应用服务中间件 Linux
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
47 1
Linux云服务器如何搭建LNMP环境
|
1月前
|
存储 网络协议 Linux
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
86 34
|
13天前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
18天前
|
Linux 网络安全 虚拟化
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
109 1
|
19天前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
76 1
|
1月前
|
Linux
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
43 14
|
1月前
|
Linux Shell
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
31 3