wget

wget命令详解(断点续传,批量下载)

scp

rsync断点续传

描述:rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
需求:当你在本地或者远程拷贝大文件时,可能会因为服务器、路由网络等不稳定性造成连接中断,这时就需要一个可以断点续传的工具进行传输

basic usage:
rsync -P -r —rsh=ssh <需要传输的文件或文件夹路径> user@服务器IP地址:目标文件路径
注:默认不指定端口是22。需要指定加-e选项:-e ‘ssh -p 端口’

例如:

本地文件以断点续传的方式拷贝到远程服务器
rsync -avP /etc/test.tar root@192.168.1.100:/opt/
指定ssh端口:rsync -avP -e ‘ssh -p 端口’ /etc/test.tar root@192.168.1.100:/opt/

远程文件以断点续传的方式拷贝到本地
rsync -avP root@192.168.1.100:/opt/test.tar /etc/
指定ssh端口:rsync -avP -e ‘ssh -p 端口’ root@192.168.1.100:/opt/test.tar /etc/

如何把运行任务放入后台执行?
ctrl+z 暂停任务
bg $1 后台运行 && fg 调回任务
jobs 调出后台任务

常用参数
-a:以archive模式操作,复制目录、符号连接,等价于 -rlptgoD 。
-v:详细提示
-z:压缩
-u:只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
-P:是综合了—partial —progress两个参数
—partial
如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上删除已拷贝的部分文件。
如果想在下次拷贝时续传文件,不需要重新拷贝所有文件的话,可以使用-partial选项阻止rsync在传输中断时删除已拷贝的部分
大白话:保留那些因故没有完全传输的文件,以是加快随后的再次传输(即断点续传)
—progress 在传输中显示进度条
-e:参数的作用是可以使用户自由选择要使用的shell程序来连接远端服务器
-e ‘ssh -p 9222’ 指定ssh的端口为9222,默认不指定是22
-r:对子目录以递归模式处理
-t:—times: 保留修改时间
—bwlimit: —bwlimit=5000 限制带宽为5000k Bytes/s =5MB

参考教程
断点续传 scp rsync
基于rsync的scp断点续传

lrzsz

  1. 什么是 rz与sz ?

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具,但是windows端需要支持ZModem的telnet/ssh客户端,比如xshell或者SecureCRT才可以使用。这两个命令也很好区分,sz:将选定的文件发送(send)到本地机器,s作为send的简写;同理,rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive),r作为receive的简写。

  1. 安装 lzsz

Ubuntu用户使用命令 sudo apt-get install lrzsz安装。
Centos用户使用命令 sudo yum install -y lrzsz安装。
如果没有根用户权限,可以从https://www.ohse.de/uwe/software/lrzsz.html下载源码安装

  1. wget https://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
  2. tar xvzf lrzsz-0.12.20.tar.gz
  3. cd lrzsz-0.12.20
  4. ./configure --prefix=/home/username/bin/lrzsz
  5. make
  6. make install
  7. # 将/home/username/bin/lrzsz/bin/lrz 和 /home/username/bin/lrzsz/bin/lsz 重命名放到环境变量
  8. ln -s /home/username/bin/lrzsz/bin/lrz ~/bin/rz
  9. ln -s /home/username/bin/lrzsz/bin/lsz ~/bin/sz

补充说明
1、rz与sz只适合小的文件传输,大文件还是使用Filezilla与xftp等工具进行传输;
2、只能传输单个文件,而不能传输文件夹;
3、不是所有工具都支持rz与sz,必须支持ZModem协议才行,例如putty不能使用rz与sz。
参考:超级好用的文件传输命令rz与sz