Linux vsftpd FTP 文件傳輸亂碼


主要內容:vsftpd服務傳輸文件時文件名稱及文件內容出現亂碼

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

本文基於公司的線上需求編寫。

 

需求:定期將服務器A的/home/data/*.zip文件通過FTP服務上傳到服務器B上,周期為每小時執行一次

 

根據上面的需求,我們肯定是要使用自動化工具集合計划任務實現:

首先在服務器B上搭建好了FTP服務並且測試成功,然后根據需求編寫了數據上傳腳本代碼如下:

 

然后配置計划任務,將測試文件放到/home/data目錄下,當文件傳輸到服務器B時發現文件名稱及文件內容全部亂碼。數據處理程序無法解析。

原因:排查發現客戶端與服務端的字符集不一致,由於是線上服務器,不能隨便修改字符集,擔心影響其他服務。

經過多次測試,發現有一種方式可以避免亂碼,就是通過二進制進行文件傳輸,其腳本主體代碼如下:

 

在腳本中加入FTP的binary命令,重新測試執行,可以正常傳輸成功。

 

總結:FTP傳輸出現亂碼的原因就是客戶端的字符集與服務器端的字符集不一致導致的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM