首页 > 技术文章 > Linux vsftpd FTP 文件传输乱码

lvclass 2021-02-20 17:21 原文

主要内容:vsftpd服务传输文件时文件名称及文件内容出现乱码

==================================================

本文基于公司的线上需求编写。

 

需求:定期将服务器A的/home/data/*.zip文件通过FTP服务上传到服务器B上,周期为每小时执行一次

 

根据上面的需求,我们肯定是要使用自动化工具集合计划任务实现:

首先在服务器B上搭建好了FTP服务并且测试成功,然后根据需求编写了数据上传脚本代码如下:

 

然后配置计划任务,将测试文件放到/home/data目录下,当文件传输到服务器B时发现文件名称及文件内容全部乱码。数据处理程序无法解析。

原因:排查发现客户端与服务端的字符集不一致,由于是线上服务器,不能随便修改字符集,担心影响其他服务。

经过多次测试,发现有一种方式可以避免乱码,就是通过二进制进行文件传输,其脚本主体代码如下:

 

在脚本中加入FTP的binary命令,重新测试执行,可以正常传输成功。

 

总结:FTP传输出现乱码的原因就是客户端的字符集与服务器端的字符集不一致导致的。

推荐阅读