对于经常需要在不同设备之间传输文件的人来说,如何高效地进行文件传输是一个很重要的问题。两个非常常见的工具——scp 和 rsync,可以帮助我们在 linux 系统中轻松地实现文件传输,而且还有各自独特的优势。

一篇文章搞定 Linux 文件传输:SCP 和 Rsync 帮你高效管理数据

scp命令 – 远程拷贝文件

scp 拷贝本地文件filename 到远程机器 192.168.188.188 服务器的/data/tmp目录下

scp -P 61204 -l 40000 filename username@192.168.188.188:/data/tmp/

登录后复制

-P port
Specifies the port to connect to on the remote host. Note that this option is written with a capital ‘P’, because -p is already reserved for preserving the times and modes of the file in rcp(1).

#-P 指定远程服务器ssh服务的端口 如:ssh端口为61204

-l limit Limits the used bandwidth, specified in Kbit/s.

-l 指定拷贝的速度限制 单位是ct/s 如:-l 40000 表示40000Kbit/s=40000/8KB=5MB的速度

注:scp不支持断点续传

rsync + ssh 断点续传

#rsync同步本地文件 filename 到远程机器 192.168.188.188 服务器的/data/tmp目录下

rsync -avzP -e 'ssh -p 61204' --

bwlimit=5000 filename username@10.20.90.101:/data/tmp/ >> scp_to_101.log

登录后复制

-a:以archive模式操作,复制目录、符号连接,等价于 -rlptgoD 。

-v:详细提示

-z:压缩

-P:是综合了–partial –progress两个参数

–partial
如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上删除已拷贝的部分文件。
如果想在下次拷贝时续传文件,不需要重新拷贝所有文件的话,可以使用-partial选项阻止rsync在传输中断时删除已拷贝的部分

–progress 显示进度条

-e:参数的作用是可以使用户自由选择欲使用的shell程序来连接远端服务器

ssh -p 61204

登录后复制

指定ssh的端口(非默认22)61204

–bwlimit: –bwlimit=5000 限制带宽为5000k Bytes/s =5MB

上例:使用rsync传输本地文件filename到192.168.188.188的/data/tmp目录下 使用压缩归档传输、限速5MB、支持断点续传 使用ssh协议

综上所述,无论是使用 SCP 还是 Rsync,都可以帮助我们在 Linux 系统中实现快速、安全、可控的文件传输。通过正确地选择和应用这两个工具,我们可以更加高效地管理我们的文件和数据,从而提高我们的工作效率。

以上就是一篇文章搞定 Linux 文件传输:SCP 和 Rsync 帮你高效管理数据的详细内容,更多请关注小闻网其它相关文章

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。