[TOC]
事情是这样的:公司需要我搭一台vsftp服务器用来pdf文件用户程序的处理和存档。但是上传方上传上来的是GBK编码,而linux下使用UTF8编码,已经运行了几年的服务器更改系统编码已是不可能,于是想到对VSFTP进行更改。经过不断的google+baidu,发现vsftp并不能实现中文名转码的功能,于是自己写一个小脚本,使用到inotifywait和convmv。
inotify是一个很好的文件系统实时监控工具,用的地方很多。于是想到监控FTP目录下文件的CLOSE状态,确保文件被写完之后再进行文件名跟改,防止在更改的时候FTP继续写文件出错。
转码用convmv工具,进行编码转换。convmv默认以测试方式运行,不会对真实文件进行文件名替换,--notest
参数用于解除test模式,-f
指定源编码模式,-t
指定目标编码模式
1 |
|
v1.5.2