使用SCP命令传输文件

87
www.365master  2019.07
基础设施与数据管理责任编辑:季莹 投稿信箱:netadmin@365master
I n f r a s t r uc t ur e  M gm t . & D a t a  M gm t .门事件
■ 河南 许红军
同质化实现SCP 无密码传输
当使用SCP 命令向远程主机传送文件时,默认是需
要输入密码的,这给实际操作带来了繁琐。其实,在安全的环境中,使用无密码传输,可以大大提高效率。
例如,在Server1上执行“ssh-keygen -t rsa”命令,在提示信息中连续回车,选择默认存储位置并不设置密码。执行“ls.ssh/”命令,查看生成的密钥信息。进入该目录,执行“mv id_rsa.pub authorized_keys”命令,对公钥进行更名处理。
执行“chmod 600 .ssh/authorized_keys”命令,为其设置合适的权限。
注意,该公钥必须位于当前用户的家目录中的“.ssh”目录中,而且该“.ssh”文件夹的权限必须为700。
执行“scp .ssh/id_rsa :~”命令,将私
编者按:使用SCP (即Secure Copy Protocol)命令,可以在Linux 下进行远程传输文件的功能。和CP 等复制命令不同,SCP 不仅可以跨服务器复制文件,还能够实现加密传输。在实际工作中,灵活的使用SCP 命令,可以有效提高文件复制的效率。
钥文件传送到Srver2主机上,“”表示Server2的地址。
在Server2主机行执行“mv id_rsa .ssh/”命令,将其移动到“.ssh”目录下。
这样,从Server2上使用SCP 命令向Server1传输文件,是不需要输入密钥的,但是反之则不行。因为必须拥有对方的私钥文件,才可以无密码传输。
实现定时自动备份
在很多情况下,需要在指定的时间(例如凌晨等)执行数据备份任务,将SCP 命令和定时任务结合起来,就可以很轻松的解决该问题。
执行“vi remotebacku p.sh”命令,创建脚本文件。
在其中输入“#!/bin/
马克思恩格斯著作b a s h ”,“time=`date +%F_%H-%M-%S `”“s
c p -r  /h o m e /data/ root@
x .x .x .x :/h o m e /backup_${time}”行,对指定目录(如/home/data/”)执行远程复制操作。其中“-r”参数标书复制整个目录。反对本本主义的意义
为了提高备份的灵活性,避免备份的数据相互覆盖,这里通过记录备份时的时间信息,将其附加的目标文件的名称后面,来达到保存不同时间点备份文件的作用。
执行“crontab -e”命令,输入“0 1 * * * /bin/bash
/root/scripts/remote_copy1.sh”等内容,在指定的时间(例如凌晨1点)执行该脚本文件。这样,当到达预设的时间后,就可以自动备份数据了。
利用分卷传输降低重传量
在使用SCP 命令执行远
用友华表cell插件882019.07  www.365master
基础设施与数据管理
责任编辑:季莹 投稿信箱:netadmin@365master
I n f r a s t r uc t ur e  M gm t . & D a t a  Mgm t .程数据传输时,如果在期间出现异常情况(例如主机重启,SCP 中断)时,即使在恢复之后是无法进行端点续传的。只有在出现网络中断时,在恢复之后才可以执行断点续传的。
如果在异地之间传输巨大的文件时,出现上述异常情况,导致数据复制失败,必须从头传输,这无疑会大大降低传输效率。
特别对于异地传输来说,问题尤为明显。利用分卷压缩功能,可以很巧妙的比快上述问题,将重传量降到最低。
执行“tar zcf - /data/ |split -b 200m - ”命令,将指定目录(这里为“data”目录)下的所有文件进行分卷压缩处理,没和压缩文件为200MB,分卷压缩文件以“a”开头。
将其存放到“tmp”目录中。执行“scp -l 8000 -r tmp/ :/tmp”命令,将“tmp”目录中的所有分卷压缩文件传输到目标主机上,其中“-l”参数指定传输速率,这里为8MB 每秒。
这样,就可以逐个传输
分卷压缩包了。即使中途出现异常导致SCP 命令失败,也可以从出现问题的某个分卷包开始传输,而不必传输所有的分卷包。当传输完毕后,在目标主机上执行“cat a*|tar zx”命令,执行解压缩操作,可以得到所有的文件。
高效传输大文件
对于体积巨大(例如上百GB 等)的文件来说,使用SCP 进行传输效能并不高。相比之下,使用bbcp 这款工具,可以高效传输大文件,其可以点对点传输文件。
在两台主机上都需要安装该工具,执行“yum install wget openssl098e -y”命令,安装所需的包。
执行“wget www.slac.stanford.edu/~abh/bbcp/bin/amd64_linux26/bbcp -O /usr/bin/bbcp”命令,下载该工具,并将其安装到“/usr/bin/bbcp”目录下。
心跟爱一起走
执行“chmod +x /usr/bin/bbcp”命令,为其设置可执行权限。
例如,执行“dd if=/dev/zero of=dfile bs=100M count=60”命令,创建名为
“dfile”大小为6GB 的文件,执行“bbcp :/tmp”命令,使用bbcp 将其传输到目标主机上。
如果以上配置了无密码传输功能,则无需输入密码。使用bbcp 的断点传输功能,即使中途出错,在下次操作时也可以从断点处继续传
输,这对于大文件额传输是极为重要的。
执行“bbcp -a -k dfile root@ :/tmp”命令,可以实现断点续传功能,其中的“-k”参数表示保留所有未传输完成的文件,并允许在重试时进行覆盖,“-a”参数保留checkpoint 信息用于校验文件的完整性。
行“bbcp -r -P 2/
etc root@ :/tmp”命令,可以以递归方式传输指定目录下的所有内容,并每隔2秒显示传输的进度,便于用户观察复制的过程。
如果发现传输的文件有误,例如,传输了错误的文件,可以强制进行删除。例如,执行“bbcp -f -P 2 dfile oot@ :/tmp”命令,可以强制删除已经传输的文件。N

本文发布于:2024-09-25 14:24:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/320713.html

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

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