scp命令默认传输速度多大_linux几种传输方式与拷贝方式的性能分析

scp命令默认传输速度多⼤_linux⼏种传输⽅式与拷贝⽅式的性
能分析
本⽂记录linux系统中⽂件传输的多种⽅式,留作备忘。linux中⽂件传输的⽅式有ftp,scp,rsync,rz,sz等,但各个⼯具的功能⼜有所区别;
FTP : FTP是⽂件服务器,可实现⽂件的上传下载,存储等功能,但本⽂不打算介绍ftp的使⽤。
scp: scp能够将不同主机的⽂件进⾏相互传输,使⽤简单⽅便。
rz : ⽤于linux与windows之间的⽂件上传
sz : ⽤于linux与windows之间的⽂件下载
rsync : rsync是⽂件同步⼯具,结合inotify可以实现⽂件的同步,备份功能。
scp介绍
scp是secure copy的简写,⽤于在Linux下进⾏远程拷贝⽂件的命令,和它类似的命令有cp,不过cp只是在本机进⾏拷贝不能跨服务器,⽽且scp传输是加密的。可能会稍微影响⼀下速度。当你服务器硬盘变为
只读 read only system时,⽤scp可以帮你把⽂件移出来。另外,scp还⾮常不占资源,不会提⾼多少系统负荷,在这⼀点上,rsync就远远不及它了。虽然 rsync⽐scp会快⼀点,但当⼩⽂件众多的情况下,rsync会导致硬盘I/O⾮常⾼,⽽scp基本不影响系统正常使⽤。scp在夸机器复制的时候为了提⾼数据的安全性,使⽤了ssh连接和加密⽅式,如果机器之间配置了ssh免密码登录,那在使⽤scp的时候密码都不⽤输⼊。
scp的安装:⽂件传输的两端机器都需要安装
[root@yufu ~]# yum install openssh-clients -y
命令格式:scp  [参数]  [本地主机⽂件路径]  [远程主机路径]
参数选项:
-1  强制scp命令使⽤协议ssh1
-2  强制scp命令使⽤协议ssh2
-4  强制scp命令只使⽤IPv4寻址
-6  强制scp命令只使⽤IPv6寻址
-B  使⽤批处理模式(传输过程中不询问传输⼝令或短语)
-C  允许压缩。(将-C标志传递给ssh,从⽽打开压缩功能)
-p 保留原⽂件的修改时间,访问时间和访问权限。  (建议使⽤,传输时保留属性时间信息,否则会导致时间发⽣改变⽆法进⾏增量传输)
-q  不显⽰传输进度条。  (很适合crontab任务计划中使⽤)
-r  递归复制整个⽬录。
多人交互式VR-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)的选项。
1.scp传输
scp -r /data/file root@ip:/data/
scp -C /data/sda.img root@ip:/data/img/
#-r: ⽀持⽬录
#-C: 启⽤压缩传送
scp传输速度较慢,但使⽤ssh通道保证了传输的安全性
2.rsync差异化传输(⽀持断点续传,数据同步)
rsync -av /backup/ -e ssh root@192.168.1.110:/bak
#-a: archive归档模式,表⽰以递归⽅式传输⽂件,并保持所有⽂件属性,链接等,等于-rlptgoD
rsync——remote sync。rsync是Linux系统下的⽂件同步和数据传输⼯具,它采⽤“rsync”算法,可以将⼀个客户机和远程⽂件服务器之间的⽂件同步,也可以在本地系统中将数据从⼀个分区备份到另⼀个分区上。如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不⼀致的部分。rsync可以执⾏完整备份或增量备份。它的主要特点有:
1.可以镜像保存整个⽬录树和⽂件系统;
2.可以很容易做到保持原来⽂件的权限、时间、软硬链接;⽆须特殊权限即可安装;
3.可以增量同步数据,⽂件传输效率⾼,因⽽同步时间短;
4.可以使⽤rcp、ssh等⽅式来传输⽂件,当然也可以通过直接的socket连接;
5.⽀持匿名传输,以⽅便进⾏⽹站镜象等;
6.加密传输数据,保证了数据的安全性;
3.管道传输(降低IO开销)
gzip -c sda.img | ssh root@192.168.1.110 "gunzip -c - > /image/sda.img"
#对sda.img使⽤gzip压缩,-c参数表⽰输出到stdout,即通过管道传送
#gunzip -c - 中的"-"表⽰接收从管道传进的sdtin
<传输(⼀种⽹络的数据流重定向)
nc所做的就是在两台电脑之间建⽴tcp或udp链接,并在两个端⼝之间传输数据流,是⼀种⽹络的数据流重定向
#使⽤dd结合nc命令⽹络克隆磁盘分区
主机:
dd if=/dev/vda | gzip -c | nc -l 50522
待恢复机:
nc 192.168.215.63 50522 | gzip -dc | dd of=/dev/sda
#dd命令克隆/dev/vda磁盘,并使⽤gzip压缩,把数据流重定向到本机50522端⼝,待恢复机上使⽤nc连接主机50522端⼝,就能接收主机50522端⼝的⽐特数据流,然后使⽤gzip解压缩,并恢复到/dev/sda磁盘
#dd命令读取的是磁盘扇区,所以不论磁盘⽂件系统,或者分区表,磁盘MBR信息,dd都能够复制,可以使⽤bs,count参数控制要克隆的⼤⼩
#例如dd bs=512 count=1 if=/dev/vda of=mbr.img 只复制磁盘vda的第⼀个扇区512K字节数据(引导程序和分区表)
5.建⽴⽂件服务器
除了上⾯集中传输⽂件的⽅式之外,还可以通过简历⽂件服务器,然后通过⽹络挂载的⽅式传输,这种适⽤于经常性的拷贝,下⾯是⼀个挂载ftp 服务器的例⼦
挂载ftp服务器
yum install curlftpfs
mkdir /data/ftp
curlftpfs username: /data/ftp
rz  sz (lrzsz)
rz  sz指令可以实现linux和windows之间的⽂件传输,但要求在windows客户端要安装Xshell或SecureCRT远程连接⼯具。
rz指令和sz指令是⼀对上传与下载的指令。它们的软件包名为lrzsz。
狐臭膏rz  sz指令使⽤很简单,执⾏rz 指令,远程连接⼯具会弹出windows⽂件选择窗⼝,只要选择要上传的⽂件即可
该命令的功能是将给出的⽂件或⽬录拷贝到另⼀⽂件或⽬录中,就如同DOS下的copy命令⼀样,功能⾮常强⼤。
语法:cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
说明:该命令把指定的源⽂件复制到⽬标⽂件或把多个源⽂件复制到⽬标⽬录中。
各选项含义:
-
a 该选项通常在拷贝⽬录时使⽤。它保留链接、⽂件属性,并递归地拷贝⽬录,其作⽤等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的⽬标⽂件⽽不提⽰。
- i 和f选项相反,在覆盖⽬标⽂件之前将给出提⽰要求⽤户确认。回答y时⽬标⽂件将被覆盖,是交互式拷贝。
- p 此时cp除复制源⽂件的内容外,还将把其修改时间和访问权限也复制到新⽂件中。
- r 若给出的源⽂件是⼀⽬录⽂件,此时cp将递归复制该⽬录下所有的⼦⽬录和⽂件。此时⽬标⽂件必须为⼀个⽬录名。
- l 不作拷贝,只是链接⽂件。
需要说明的是:为防⽌⽤户在不经意的情况下⽤cp命令破坏另⼀个⽂件,如⽤户指定的⽬标⽂件名是⼀个已存在的⽂件名,⽤cp命令拷贝⽂件后,这个⽂件就会被新拷贝的源⽂件覆盖,因此,建议⽤户在使⽤cp命令拷贝⽂件时,最好使⽤i选项。
$ cp - i exam1.c /usr/wang/shiyan1.c
该命令将⽂件exam1.c拷贝到/usr/wang 这个⽬录下,并改名为 shiyan1.c
若不希望重新命名,可以使⽤下⾯的命令:
$ cp exam1.c /usr/ wang/
将/usr/xu⽬录中的所有⽂件及其⼦⽬录拷贝到⽬录/usr/liu中,命令如下:
$ cp - r /usr/xu/ /usr/liu/
功能: 复制⽂件或⽬录
说明: cp指令⽤于复制⽂件或⽬录,如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定的所有⽂件或⽬录复制到此⽬录中。若同时指定多个⽂件或⽬录,⽽最后的⽬的地并⾮⼀个已存在的⽬录,则会出现错误信息
参数:
四轴机械臂-a 或 --archive    此参数的效果和同时指定"-dpR"参数相同
-b 或 --backup      删除、覆盖⽬的⽂件先备份,备份的⽂件或⽬录亦建⽴为符号链接,并指向源⽂件或⽬录链接的源⽂件或⽬录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源⽂件或⽬录
-f 或 --force      强⾏复制⽂件或⽬录, 不论⽬的⽂件或⽬录是否已经存在
-i 或 --interactive 覆盖⽂件之前先询问⽤户
-l 或 --link        对源⽂件建⽴硬链接,⽽⾮复制⽂件
-p 或 --preserve    保留源⽂件或⽬录的属性,包括所有者、所属组、权限与时间
视野图
-P 或 --parents    保留源⽂件或⽬录的路径,此路径可以是绝对路径或相对路径,且⽬的⽬录必须已经丰在
-r                  递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理
-R 或 --recursive  递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理
举宫
-s 或 --symbolic-link  对源⽂件建⽴符号链接,⽽⾮复制⽂件
-S 或 --suffix= ⽤"-b"参数备份⽬的⽂件后,备份⽂件的字尾会被加上⼀个备份字符串。默认的备份字尾符串是符号"~"
-u 或 --update      使⽤这项参数之后,只会在源⽂件的修改时间(Modification Time)较⽬的⽂件更新时,或是名称相互对应的⽬的⽂件并不存在,才复制⽂件
-v 或 --verbose    显⽰执⾏过程
-V 或 --version-control=  指定当备份⽂件时,备份⽂件名的命名⽅式,有以下3种:
1.numbered或t, 将使⽤备份编号,会在字尾加上~1~字符串,其数字编号依次递增
2.simple或never 将使⽤简单备份,默认的备份字尾字符串是~, 也可通过-S来指定
-x 或 --one-file-system  复制的⽂件或⽬录存放的⽂件系统,必须与cp指令执⾏时所处的⽂件系统相同,否则不复制,亦不处理位于其他分区的⽂件
--help              显⽰在线帮助
--sparse=  设置保存希疏⽂件的时机
--version          显⽰版本
⽰例:
.复制⽂件,只有源⽂件较⽬的⽂件的修改时间新时,才复制⽂件
cp -u -v file1 file2
.将⽂件file1复制成⽂件file2
cp file1 file2
.采⽤交互⽅式将⽂件file1复制成⽂件file2
cp -i file1 file2
.将⽂件file1复制成file2,因为⽬的⽂件已经存在,所以指定使⽤强制复制的模式
cp -f file1 file2
.
将⽬录dir1复制成⽬录dir2
cp -R file1 file2
.同时将⽂件file1、file2、file3与⽬录dir1复制到dir2 cp -R file1 file2 file3 dir1 dir2
.复制时保留⽂件属性
cp - tmp/
.复制时保留⽂件的⽬录结构
cp -P  /var/  ./temp/
.复制时产⽣备份⽂件
cp - tmp/扫描探针
.复制时产⽣备份⽂件,尾标 ~1~格式
cp -b -V t  a.txt /tmp
.
指定备份⽂件尾标
cp -b -S _ /tmp

本文发布于:2024-09-22 13:35:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/100516.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:传输   备份   命令   复制   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议