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

换服务器或添加服务器时常会用到两台服务器之间复制文件,这个时候就可以使用scp命令。

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

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

scp一般有六种使用方法:

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

scp [email protected]:/val/test/test.tar.gz /val/test/test.tar.gz

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

scp /val/test.tar.gz [email protected]:/val/test.tar.gz

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

scp [email protected]:/val/test/ /val/test/

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

scp /val/ [email protected]:/val/

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

scp [email protected]:/val/test/test.tar.gz /val/test/

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

scp /val/test.tar.gz [email protected]:/val/

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

scp /val/test.tar.gz [email protected]:/val/test.tar.gz

中的前面 /val/test.tar.gz 是要复制的文件,后面[email protected]:/val/test.tar.gz是指定复制到哪里和对应的文件名。如果两个对换则功能相反。

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

scp [email protected]:/var/cp1.tar.gz [email protected]:/var/cp2.tar.gz /var/tmp/

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

[[email protected] ~]# scp --help
usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[[email protected]]host1:]file1 ... [[[email protected]]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)的选项。

时间: 2024-10-01 07:19:25

linux两台服务器间复制文件scp的相关文章

linux两台服务器远程copy文件

1.将远程机器的文件copy到本地 scp -r  [email protected]:/bea   /gg   将远程的/bea copy到/gg下面 -r  Recursively copy entire directories. 递归复制整个目录 [email protected]:/bea 远程机器的目录 /gg 本地目录 2.将本地的文件copy到远程 scp -r  /bea/oracle [email protected]:/bea  /gg 3.如果远程服务器防火墙有特殊限制,s

linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)(zz)

linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl) 分类: linux2011-10-10 13:21 8773人阅读 评论(1) 收藏 举报 服务器linuxftp服务器文档commandssh 目录(?)[+] 因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp,wget,curl. r

用网线在两台电脑间传送文件

材料:一根普通的网线(简单地说就是平时我们使用的连接笔记本和路由器的线,不是双绞线),两台WIN7系统的笔记本,就这些了. 步骤1:将两台电脑用网线连接起来. 步骤2:这时分别修改两台电脑上的数据.单击控制面板——查看网络状态和任务——查看活动网络——本地连接——属性——Internet 协议版本4,在弹出的对话窗中做如下修改: 第一台笔记本作如下修改:选择——使用下面的IP地址,IP地址192.168.1.1子网掩码255.255.255.0默认网关192.168.1.2——使用下面的DNS服

linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)

因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp,wget,curl. rcp rcp不是一种安全的的传输文件的方式,rcp通过rsh(rsh见下面)来执行远程命令,要使用rcp必须经过一些配置,现在rcp已经被scp取代了,常用scp来进行文件传输.要使用rcp,需要具备以下条件: (1)如果系统中有/etc/hosts 文件,应确保该文件包含要

linux下不同服务器间数据传输(wget,scp)

一.wget是Linux下最常用的http/ftp文件下载工具1.wget断点续传,只需要加上-c参数即可,例如:代码:wget-chttp://www.abc.com/abc.zip-Oabc.zip2.当服务器上的文件比本地指定目录下的文件更新时才下载,-P指定目录,-N表示检查文件文件是否更新代码:wget-N-P/hom 一.wget是Linux下最常用的http/ftp文件下载工具1.wget断点续传,只需要加上-c参数即可,例如:代码: wget -c http://www.abc.

使用GlusterFs在两台服务器间搭建共享目录

生产中两台web目录需要保持目录一致,不然老是会读取不到图片文件.想过用sersync,想过用NFS,最后还是决定用GlusterFs. 两台服务器IP: centos6.7    192.168.0.101    web1 centos6.7    192.168.0.103    web3 第一步:配置环境 GlusterFs 3.6的版本,已经整合到Centos了直接yum安装就好 yum install centos-release-gluster36yum --enablerepo=c

[shell实例]——用脚本实现向多台服务器批量复制文件(nmap、scp)

练习环境: (1)所有服务器将防火墙和selinux关闭 (2)所有服务器的root密码设置为aixocm (3)所有服务器都为10.0.100.*网段,并保证能够和其它主机通信 (4)所有服务器确保sshd服务已经启动(开放默认的22端口) 脚本要求实现: 将本机/etc目录下以conf为扩展名的文件打包压缩为tar.bz2,然后将此文件复制一份到10.0.100.1-->10.0.100.254地址段上所有开启的主机,具体路径为/tmp/sjjy/文件.在使用scp复制时无需手动输入密码.

linux环境下,利用tc限制两台服务器间的网速,非常简单。

最近再搞postgres的数据同步,需要模拟异地机房有带宽限制时的同步效果,所以想要限制一下两台机器之间的网速. ts命令功能很强,同时也好难理解和使用,经常浪费了好半天还是搞不定. 这里分享一个简单好用的脚本,只要设置一下目标ip和需要限制的速率,执行下就可以了: #!/bin/bash # # tc uses the following units when passed as a parameter. # kbps: Kilobytes per second # mbps: Megabyt

Linux两台服务器mysql数据库同步

我们在做web系统部署的时候往往涉及到两台甚至多台数据库的备份,为了数据安全考虑(虽然说到底不过是一堆0 1,但是价值千金啊),所以我们还是乖乖做同步把! 1.准备两台Linux服务器(主.从) 2.安装好Mysql 3.在配置文件/etc/my.cnf(MySQL中为mysql.ini)修改开启二进制日志 log-bin=mysql-bin 修改方法:打开配置文件后在 [mysqld]中添加内容: server-id = 1 #确保在整个MySQL集群中唯一 log-bin=/var/log/