磁盤空間不足引起ftp報"553 Could not create file"


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

 2021/9/29_第1次修改                       ccb_warlock

 

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

最近都在忙個人的事,很久沒有整理學習筆記了,該篇是因為昨天客戶聯系我排查現場問題,而最終的結果我翻X出去也沒搜到過,所以在這里做個記錄,希望給有緣人提供一個新的方案來解決這個問題。

 

言歸正傳,客戶突然聯系說程序出現卡頓的問題,排查下來是上傳FTP失敗引起。

 

測試之后,使用非匿名賬號,下載是正常的,上傳提示“553 Could not create file”。

 

查了很多資料講到了selinux對vsftpd有攔截,但是對比開發環境和生產環境兩邊的配置、屬性都是一致的,也就是說其他資料的解決方案應該不是當前問題的解決方案(沒有按資料嘗試是因為生產環境的操作有嚴格的要求,如果服務掛了會很麻煩)

 

在沒有任何解決方案的時候,我想使用FTP的賬號登錄centos,然后在目錄下創建文件試試,服務器上創建文件是否還報權限問題,這時候轉機出現了:

touch: 無法創建“XXX”,設備上沒有空間

 

難道磁盤滿了?於是我用‘df -h’查看的分區對應的硬盤占用情況,果然磁盤占用100%(因為客戶的這個程序業務上需要不斷上傳圖片到指定的FTP服務器,如果FTP上傳失敗,就會導致本地圖片積壓,量上來之后導致程序出現卡頓的問題)。

 

解決方案:

由於是磁盤滿了導致報錯,一種方案是停機加硬盤,另一種是移走時間較遠的文件把磁盤空間騰出來。(最后現場和客戶商議的還是選擇了“移文件騰空間”的方式)

 

結論:

在本次遇到的問題中,是因為磁盤空間不足導致文件無法上傳保存到服務器上,導致ftp報“553 Could not create file”。

ftp報“553 Could not create file”,大部分原因可能是用戶權限的配置問題引起,然而還有一種可能就是磁盤滿了導致無法保存文件,針對這種情況ftp也是報553權限問題(我沒有程序無法保存的邏輯的開發經驗,只能懷疑是ftp對異常的判斷中不考慮磁盤滿了的情況,只要無法保存統統歸類為權限問題)。

 

參考資料:

1.https://cloud.tencent.com/developer/article/1721919

 

 


免責聲明!

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



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