ตอนนี้พอไปตรวจสอบเครื่อง เซิฟเวอร์พบว่า /var มันจะเต็ม อืม...ตอนแรกๆก็นึกว่า เราแบ่ง partition น้อยไปหรือเปล่า เออ เราก็ไม่น่าจะพลาดขนาดนั้นนะ.... พออ่านตัวเลขขนาด partition ดีๆอีกที เฮ้ย! /var อย่างเดียวมันตั้ง 20 กว่า กิ๊ก เป็นเรื่องหล่ะ
อะไรที่มันใช้เนื้อที่ใน /var มากขนาดนั้น
/var/db/mysql <- ผู้ต้องสงสัยแรก
/var/log/apache-log หรือ /var/log/nginx/access-log , error.log <- ผู้ต้องสงสัยรายที่ 2
ก็ลองเลย ย้าย 2 ผู้ต้องสงสัยไปไว้ที่ /usr/home/ เราแทน เฮ้ย ทำไมพื้นที่มันยังไม่ลดลงอย่างที่คาดการณ์
ก็ลองหาดู folder ไหนที่มันกินเนื้อที่เยอะๆ บ้าง
/var/spool/clientmqueue <- ต้นเหตุ
กรณีจะไปโทษว่าเป็นผู้ร้ายก็ไม่ได้นะครับ เพราะ สาเหตุที่แท้จริงแล้วคือ อีเมล์ที่เกิดจากการ ทำงาน cron job และ perodic daemon ของ freebsd ที่จะส่งอีเมล์ออกมาเมื่อทำงานเสร็จแล้ว (ทั้งนี้ก็เราดันไปปิด sendmail ใช่ไหมล่ะ)
พอเราปิด sendmail มันก็ส่งเมล์ไม่ได้ มันก็พยายามส่งอยู่นั่นเหละ ถึงได้ กินพื้นที่ไปเรื่อยๆ
แก้โดย /etc/periodic.conf
daily_output="/var/log/daily.log"
weekly_output="/var/log/weekly.log"
monthly_output="/var/log/monthly.log"
และ ใส่ MAILTO="" เหนือ crontab ของทุกคนที่เรียกใช้งาน cron
ก็เป็นอันว่า รอดตัวไปสำหรับคราวนี้
ปล. การลบ /var/spool/clientmqueue ยากกว่าที่คิดนะจ้ะ ถ้าไม่คิดอะไรมากก็ทยอยลบไปเรื่อยๆนั่นเหละ เดี๋ยวก็หมดเอง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น