linux下的文件传输优化
1.scp文件的远程复制
scp 本地文件 远程主机用户@远程主机ip:远程主机目录 ##上传
scp 远程主机用户@远程主机ip:远程主机目录 本地目录 ##下载
对目录
#scp -r /mnt/ root@172.25.254.136:/mnt/ ##上传本地的mnt中的目录到172.25.254.136
#scp -r root@172.25.254.136:/mnt/ /mnt/ ##下载172.25.254.136中mnt中的目录到本地
对文件
#scp fie root@172.25.254.136:/mnt/ ##上传本地文件到172.25.254.136
#scp root@172.25.254.136:/mnt/file /mnt ##下载172.25.254.136中mnt中的文件到本地
2. rsync 远程同步命令
rsync与scp的区别
:scp每一次执行都是全部复制,不会检测文件增量,rsycn每一次执行只同步文件不同地方,和文件存在性,速度快时间断但是会短时间占用大量I/O。
rsync会检测两台主机中文件的不同,有不同文件的时候才会去同步复制。
而scp不会做任何检测,直接完成复制。
实验
(1)建立传输的文件
#dd if=/dev/zero of=/mnt/file1 bs=1M count=10
dd:截取内存 if:inputfile从哪截取of:outputfile截到哪去 bs:blocksize每一块大小 count有多少块
(2)建立测试scp执行时间脚本
#vim scp.sh
内容:time scp -qr /mnt/file root@172.25.254.3:/mnt
time scp -qr /mnt/file root@172.25.254.3:/mnt
time scp -qr /mnt/file root@172.25.254.3:/mnt
(3)建立测试rsync执行时间脚本
#vim rsync.sh
内容:time rsync -aCqr /mnt/file root@172.25.254.3:/mnt
time scp -aCqr /mnt/file root@172.25.254.3:/mnt
time scp -aCqr /mnt/file root@172.25.254.3:/mnt
语法
rsync 本地文件 远程主机用户@远程主机ip:远程主机目录 ##上传
rsync 远程主机用户@远程主机ip:远程主机目录 本地目录 ##下载
#rsync -r /mnt/ root@172.25.254.136:/mnt/ ##上传本地的mnt中的目录到172.25.254.136
#rsync -r root@172.25.254.136:/mnt/ /mnt/ ##下载172.25.254.136中mnt中的目录到本地
对文件
#rsync fie root@172.25.254.136:/mnt/ ##上传本地文件到172.25.254.136
#rsync root@172.25.254.136:/mnt/file /mnt ##下载172.25.254.136中mnt中的文件到本地
常见使用:
#rsync -r fie root@172.25.254.136:/mnt/ 复制目录
#rsync -lr fie root@172.25.254.136:/mnt/ 不忽略链接复制目录
#rsync -pr fie root@172.25.254.136:/mnt/ 不忽略权限复制目录
#rsync -tr fie root@172.25.254.136:/mnt/ 不忽略时间戳复制目录
#rsync -gr fie root@172.25.254.136:/mnt/ 不忽略用户复制目录
#rsync -or fie root@172.25.254.136:/mnt/ 不忽略组复制目录
#rsync -Dr fie root@172.25.254.136:/mnt/ 不忽略快设备复制目录
#rsync -ar fie root@172.25.254.136:/mnt/ t同步所有属性
#rsync -qr fie root@172.25.254.136:/mnt/ 不显示过程
3.文件归档 tar
(1)作用:文件归档 ,用tar命令将文件归档后可以加快文件传输速率
(2)语法:
# tar cf 归档名字 被归档文件
(3)常见使用:
c 创建
v 显示过程
f 制定名称
P 绝对路径
x 解档
-C 解档路径
r 添加
t 查看
- -get filename 拿出来
- -delete filename 删掉
#tar cf bin.tar /usr/bin 创建归档
#tar cvf 显示过程创建归档
#tar Pcf bin.tar /usr/bin 绝对路径创建归档
#tar xf bin.tar /usr/bin 解档
#tar xvf bin.tar /usr/bin 显示过程解档
#tar Pxf bin.tar /usr/bin绝对路径解档
#tar xf bin.tar /usr/bin -C /opt/ 进入指定目录解档
#tar tf bin.tar 查看归档内容
#tar rf bin.tar file添加指定文件到末尾
#tar f bin.tar --get file 取出指定文件
#tar f bin.tar --delete file 删除指定文件
4.文件压缩
1。压缩
压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制可以减小文件的字节总数,使文件能够通过比较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间
2.linux中默认支持的压缩的四种格式
1). zip
#zip -r mnt.tar.zip mnt.tar ##将mnt.tar压缩成mnt.tar.zip
#du -sh mnt.tar ##查看mnt.tar大小
#unzip mnt.tar.zip ##解压mnt.tar.zip
2). gzip
#gzip mnt.tar ##压缩mnt.tar
#gunzip mnt.tar.gz ##解压mnt.tar.gz
3). bzip2
#bizp2 mnt.tar ##压缩mnt.tar
#bunzip2 mnt.tar.bz2 ##解压mnt.tar.bz2
4). xz
#xz mnt.tar ##压缩mnt.tar
#unzx mnt.tar.xz ##解压mnt.tar.xz
3.上面的压缩过程要在有一个已经打好包的文件的基础上进行,也可以打包压缩一步完成,但此时不包括zip的形式
打包压缩过程:
#tar zcf etc.tar.gz /etc ##把etc打包压缩成etc.tar.gz
#tar jcf etc.tar.bz2 /etc ##把etc打包压缩成etc.tar.bz2
#tar Jcf etc.tar.xz /etc ##把etc打包压缩成etc.tar.xz
解压解包过程:
#tar zxf etc.tar.gz ##解压
#tar jxf etc.tar.bz2 ##解压
#tar Jxf etc.tar.xz ##解压