背景:

在运维人在日常的运维工作中会经常使用到文件上传下载的操作,例如:

使用场景一:

在分析业务报错时,需要经常分析日志文件,但是有些业务报错是需要通过开发人员来分析的,这个时候要么开发人员亲自登入到指定的服务器上进行查看分析,但是这个情况一般是很少的,不经是生产环境,开发人员一般是无法登入到生产环境下去查看并分析日志的,大部分都是要求运维人员去下载日志文件,拿出来之后发送给开发人员进行分析排查的。

使用场景二:

只要系统运行在生产环境上,用户一直在使用,那么业务需求一定会在变动的,一旦变动了,就需要开发的,开发之后需要对系统进行一次版本发布的操作,那么就需要将文件上传到指定的服务应用上去的,这个避免不了的,大部分的生产环境要么在用户现场,要么就是安全要求,需要通过唯一的入口进行版本的发布,这时候就需要上传文件了。

上传下载文件的方式有很多,比如使用xftp工具,或者是直接是通过U盘的方式,但是大部分的生产环境都是不允许使用的,那么这时候只能使用了Linux服务器自带的文件上传下载的功能了,如下我们就介绍一下rz、sz的使用。


sz命令


用途说明:

sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。

常用参数
-a       :  以文本方式传输(ascii)。
-b       :  以二进制方式传输(binary)。
-e       :  对控制字符转义(escape),这可以保证文件传输正确。

注:

如果能够确定所传输的文件是文本格式的,使用 sz -a files
如果是二进制文件,使用 sz -be files

sz:将选定的文件发送(send)到本地机器

样例演示:

需要先验证sz以来的软件包安装没了

[root@tomcat51 ~]# rpm -qa | grep lrzsz
lrzsz-0.12.20-27.1.el6.x86_64

如上的显示就是已经安装了,如果是没有安装可以执行如下的操作

yum install -y lrzsz

如果提示yum源不存在,需要先配置好yum源之后再进行安装 

样例:

[root@master1 ~]# sz docker-19.03.9.tgz 

 

 选择需要下载的目录之后就是传输了

 


rz命令

常见参数:
-b      :   以二进制方式,默认为文本方式。(Binary (tell it like it is) file transfer override.)
-e      :   对所有控制字符转义。(Force sender to escape all control characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.)
如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用:
# rz -be
此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了。上传的速度取决于当时网络的状况。
如果执行完毕显示“0错误”,文件上传就成功了,其他显示则表示文件上传出现问题了。
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

 样例:

[root@master1 ~]# rz


 ​​​​​​​

 

 总结:

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
优点就是不用再开一个sftp工具登录上去上传下载文件。

从服务端发送文件到客户端:
sz filename
从客户端上传文件到服务端:
rz
在弹出的框中选择文件,上传文件的用户和组是当前登录的用户

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐