本文主要记录文件上传失败,错误码553的排故过程。
1 背景
树莓派通过FTP给嵌入式板卡传输文件,好几套设备,发现有的能传输成功,有的传输不成功。树莓派和嵌入式板卡都一样的,出现问题时感觉很懵。
2 逐项对比
2.1 自己写的树莓派里的代码,而嵌入式设备里的代码用了好久,所以主要怀疑自己树莓派上写的程序有问题,将有问题的树莓派的代码和正常的树莓派的代码对比,完全一样(毕竟自己写的嘛,哎)。
2.2 对比树莓派里文件夹路径及树莓派通过文件上传的嵌入式设备的路径及权限,完全一样,更加懵。
3 百度大法
3.1 使用搜索引擎搜索FTP 553错误的案例,确定了553是文件上传失败,服务器拒绝客户端的请求的错误码表示。原因呢,就很多了。有的说是文件名不合法,有的说是权限问题,有的说是路径不存在,根据别人的建议一个一个尝试,一个一个失败。
4 深度分析
恰好公司下班了,没人找我干扰我工作了,喝口水上了个厕所放松一下,回忆了下自己的排查过程。错误码显示是服务器拒绝了创建文件的请求,像名不对,没权限,没路径等自己检查过不是的,还有什么原因会使服务器不提供创建服务呢?这时想到一个可能是FTP服务器设置有问题,之前是否让嵌入式设备的负责同事改过服务不大记得了;还有一个可能是服务器分不出来空间了,为啥分不出来了呢?有可能里面程序用光了。使用Linux指令查询了下还剩多少空间,home下竟用掉了100%,根本就没空间了,如下图所示。
找到负责嵌入式设备下位机的同事,说是有个Log文件可以删掉,删除后再次尝试文件上传功能,该功能正常。
5 总结
排查问题需要静下心来,根据线索全局分析,虽难但解决问题后,有种豁然开朗的感觉,还是不错的。