引言
最近一直是在用SecureCRT和MobaXterm对服务器进行维护,前者是因为工作需要,后者是个人喜好。我记得在去年我写过一篇用MobaXterm对阿里云服务器进行相关的部署,那篇博文里也谈及了我从xshell和mobaxterm中最终选择了后者,其实直到目前,我依然喜欢用MobaXterm,因为简单高效。本篇博文将列举我今天做的一个功能,对代码进行备份并上传到服务器,也可以说成是上传文件和下载文件,另外解读一下其意思
rz与sz命令
linux下通过rz、sz命令进行上传下载很方便,不需要其他的sftp、winscp等软件,而sz和rz命令的原理其实是来源于下面四个东西:1.XModem,YModem,ZModem,KERMIT,类似于一种演化过程。
它们都是文件传输协议,四者的比较如下:
-
XModem是一种发送等待(send-and-wait)协议, 具有流量控制功能。数据长度为128字节。
-
YModem是XModem的改进版。它可以传送多个文件,数据长度可达1K字节且支持16位CRC校验。
-
ZModem不但具有纠错功能,而且是一种流式协议。它不再以收方发ACK引导。
-
KERMIT类似于XModem,但它对XModem进行了改进,可以传输多个文件,错误检测方式明显改善。同时KERMIT还提供压缩功能。
zmodem是现在已经升级比较多版本比较新的协议。最早还有xmodem和ymodem协议,现在我们利用zmodem协议它的速度会快一点,所以我们主要考虑zmodem,另外SecureCRT已经帮我们集成好了zmodem,而MobaXterm对zmodem支持较差,或者说没有支持,下面我们会详细说明。
然后我们就可以安装着两条命令包,相应的命令为:
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
- 1
- 2
- 3
上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
- 1
- 2
- 3
然后我们就可以使用sz和rz命令了。
SecureCRT命令使用
因为SecureCRT集成好了zmodem协议,所以我们可以通过其直接设置我们默认的上传和下载文件路径,比如我这边使用的默认配置:
那么当我使用sz下载Linux服务器上的文件时,它就会下载到我Windows下的C:UsersxuzhenggenDownloads文件夹下:
上传同样,secureCRT会弹出一个文件框,那么只需要点击上传文件就OK了。
MobaXterm上下文件
mobaXterm备份文件和上传文件的方式和其它的有所不同,因为它本身不怎么支持zmodem协议,所以我们即使下载了sz、rz命令包,当我们在命令行中运行这两个命令时,就会出现很多bug,比如:
虽然同样显示了文件正在下载,但之后就会一直卡在这里不动了,甚至说ctrl+c强制退出也作用不大,然后我就重新连接该服务器了,不知道它到底有没有下载文件到某路径,这里因为我没有找到设置路径在哪,所以不清楚具体流程,那么就直接当它下载失败了。
很显然,MobaXterm在这里出现了缺点,那么就是对zmodem支持差,其它的我暂时没找到什么缺点了,但其实它自己本身就可以直接下载与上传文件,不需要通过zmodem协议,或者说FTP,因为它的左边即能显示连接服务器下所有的文件夹以及相应的目录,我们只需要点击右键,或者说拖动文件直接拉进行去就能完成文件的更新操作了。
同样能完成对文件的下载,操作直接Windows化了,另外上传拖拽,那么就不需要我说明了。所以,不得不说mobaxterm方便。