在雞年里,我像勤勞的老公雞早早的來到了公司。本打算這兩天工作時間正好打發下假期綜合征,但系統偏不遂人愿。一陣急促的電話聲將我的思緒從九霄云外拉到了寒冷刺骨的凡間。業務人員在電話那頭催促說"文件不能導出,趕緊看看”。 我們的理念是 “ 一切為業務服務,為了業務的一切”,業務有難,八方支援。趕緊下機房,拉出日志檢查問題。日志里面好幾條“No such file or directory”異常,都是使用poi的SXXFWorkbook生成Excel文件時拋出的。根據異常信息,定位到了TempFile這個類里。
從異常信息來看應該是this.dir文件目錄不存在導致,立馬到/tmp目錄下查證,果然poifiles子目錄已經消失了。這可奇怪了,這個目錄怎么會平白無故消失了,SXXFWorkbook在很多項目用了很多年都沒有問題,怎么這次就莫名其妙的消失了。用histroy命令沒有發現當前用戶有刪除操作和list reboot看看最近有沒有重啟(PS服務器是運行中心搭建的,我們只能只用一個只有很小權限的用戶進行上線),搜索下代碼也沒有發現有主動的delete。真是奇了!!! 只能想想/tmp目錄是否有自動清理機制,但要是有自動清理機制,其他的項目早就出問題了。但也只能死馬當活馬醫,查看了下/etc/cron.daily/tmpwatch
果然/tmp目錄下的應用產生的文件和目錄10天沒有修改就會被刪除,而我們的這個系統和之前系統的一個最大差別正是使用頻次。出問題的系統只在每個月的前5個工作日有業務人員使用,這樣自然導致poi生成的poifiles目錄在下一次使用之前就會被刪除掉。 問題原因已經找到了,接下來只好拜托運行中心的兄弟們幫忙將poifiles加入到排除目錄即可。新聞熱點
疑難解答