当前位置:首页 > 技术文章 > 正文内容

Linux如何远程拷贝,限速和断点续传

douba32个月前 (07-14)技术文章18

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协议

    相关文章

    Linux连不上网?远程卡?这篇网络管理指南你不能错过!

    大家好!今天咱们聊个所有Linux用户都躲不开的“老大难”——网络管理。我猜你肯定遇到过这些崩溃时刻:新装的Linux系统连不上Wi-Fi,急得直拍桌子;远程服务器SSH连不上,提示“Connecti...

    linux系统远程文件传输小技巧(linux远程传送文件的命令)

    今天,盯着办公室的linux系统,忽然想到前两天有办公室同事要传文件,于是做了一下操作,针对linux系统,只需要一条命令操作就可以将我们的文件传到另一台同事的电脑上去。针对linux系统之间,比较...

    Linux scp远程复制命令使用整理(linux远程copy)

    快捷复制首先,别那么多废话,快告诉我怎么用,让我直接复制!OK,安排!复制本地文件/目录 ==> 远程机器scp /opt/soft/test.tar.gz root@192.168.1.102...

    推荐漂亮的Linux远程SSH连接工具FinalShell

    常用的Linux远程连接工具有Xshell 、SecureCRT,今天推荐的FinalShell不但界面漂亮,而且可以通过拖拽从服务器上下载文件到本地磁盘,也可以通过拖拽上传文件到远程服务器。使用起来...

    Linux 的这几种搜索方式,你都会了吗?

    1.find 命令find 命令是用来在给定的目录下查找符合给定条件的文件语法格式:find [查找起始路径] [查找条件] [处理动作](1)根据名称查找:find [查找起始路径] -name 文...

    Linux通过netstat查看服务及监听端口总结

    在日常开发或者运维过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询。netstat命令一些常用参数说明如下:-a 或–all 显示...