發(fā)現(xiàn)問題
最近在工作發(fā)現(xiàn)了一個錯誤,MySQL 報(bào)錯 Exception Message:SQLSTATE[08004][1040]Too many connections,經(jīng)查這次錯誤是硬盤空間滿了導(dǎo)致的,于是找一些可以刪除的文件騰出一些空間。
空間占用大的原因
發(fā)現(xiàn) /var/spool/postfix/maildrop 這個目錄占用了 6G 多的空間,網(wǎng)上找到一樣的問題,原因是:
由于 Linux 在執(zhí)行 cron 時,會將 cron 執(zhí)行腳本中的 output 和 warning 信息,都會以郵件的形式發(fā)送 cron 所有者, 而由于客戶環(huán)境中的 sendmail 和 postfix 沒有正常運(yùn)行,導(dǎo)致郵件發(fā)送不成功,全部小文件堆積在了 maildrop 目錄下面,而且沒有自動清理轉(zhuǎn)換的機(jī)制,所以長達(dá)一年的時間,此目錄已堆積了大量的文件。查看 man cron 的信息,可以知道會發(fā)送給 cron owner.
于是嘗試刪除這個目錄下的內(nèi)容,但是執(zhí)行 rm -rf ./* 竟然提示參數(shù)列表過長,后來使用如下命令刪除:
ls | xargs rm -f
通過管道的方式刪除。
腳本重定向輸出
所以注意在 crontab 腳本輸出內(nèi)容到日志,或者 /dev/null 2>&1,避免產(chǎn)生大量不必要的文件。
幾個 Linux 查找文件和空間的命令
find . -type f -size +1000000k 查找大文件和目錄
du -s * | sort -nr | head 顯示前十個占用空間最大的文件或目錄
du -sh * 遍歷目錄大小
df -hl 系統(tǒng)各掛載硬盤空間大小
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選