จัดการ Disk Space บน Hosting ไม่ให้เต็ม

ค้นหาไฟล์ขยะที่กินพื้นที่ ล้าง Log และ Cache อย่างปลอดภัย และรักษา Disk Space ให้มีพอใช้เสมอ

จัดการ Disk Space บน Hosting ไม่ให้เต็ม

ทำไม Disk Space ถึงเต็มเร็ว?

Disk Space หมดเป็นปัญหาที่พบบ่อยมากสำหรับเว็บไซต์ที่ใช้งานมานาน แม้จะซื้อ Hosting แพ็กเกจพื้นที่ 20 GB ไว้ก็อาจเต็มได้เพราะสาเหตุที่ไม่คาดคิด เช่น Error Log ที่โตขึ้นเรื่อยๆ, Backup ไฟล์ที่สะสมทุกวัน, Email ที่มี Attachment ขนาดใหญ่, หรือ Cache ของ WordPress ที่ไม่ถูกล้างเป็นเวลานาน

เมื่อ Disk Space เต็ม ผลที่ตามมาคือ: Email ใหม่ไม่สามารถรับได้, WordPress ไม่สามารถ Upload รูปหรือสร้างไฟล์ได้, ฐานข้อมูลอาจเสียหาย, และบางครั้งเว็บอาจแสดง Error 500 หรือหน้าว่างเปล่า

ดู Disk Usage ใน cPanel

cPanel มีเครื่องมือดู Disk Space ที่ละเอียดมาก:

  1. ล็อกอิน cPanel แล้วดูที่มุมขวาบนจะเห็น Disk Usage แบบสรุป
  2. ในหมวด Files คลิก Disk Usage
  3. จะเห็น Breakdown แสดงพื้นที่ของแต่ละโฟลเดอร์ ทั้ง public_html, mail, tmp, logs
  4. คลิก Directory เพื่อเจาะลึกเข้าไปดู Subdirectory
  5. เรียงลำดับตามขนาดเพื่อหาโฟลเดอร์ที่ใหญ่สุด
Tip: มักพบว่าโฟลเดอร์ mail/ หรือ logs/ ใช้พื้นที่มากที่สุดโดยที่เจ้าของเว็บไม่รู้ตัว

ไฟล์ที่กินพื้นที่มากที่สุด

Error Log ขนาดยักษ์

ไฟล์ error_log ใน public_html หรือในทุก Subdirectory อาจโตถึงหลาย GB โดยไม่รู้ตัว โดยเฉพาะถ้าเว็บมี PHP Error บ่อย ตรวจสอบและล้างได้โดย:

# ค้นหา error_log ที่ใหญ่ที่สุด (ผ่าน SSH)
find ~/public_html -name "error_log" -size +10M -exec ls -lh {} \;

# ล้าง error_log โดยไม่ลบไฟล์ (ปลอดภัยกว่า)
> ~/public_html/error_log

# หรือลบทิ้งเลย (cPanel จะสร้างใหม่อัตโนมัติ)
find ~/public_html -name "error_log" -delete

Backup ไฟล์ที่สะสมใน Hosting

WordPress Plugin อย่าง UpdraftPlus หรือ BackWPup บางครั้งสะสม Backup ไว้ใน Hosting โดยไม่ลบอัตโนมัติ ตรวจสอบโฟลเดอร์ wp-content/uploads/backups/ หรือโฟลเดอร์ที่ Plugin กำหนด และลบ Backup เก่าที่ไม่ต้องการออก

WordPress Cache

Plugin เช่น W3 Total Cache หรือ WP Super Cache สร้างไฟล์ Cache จำนวนมากใน wp-content/cache/ ล้างได้จาก Plugin Dashboard หรือลบโฟลเดอร์ cache/ ทั้งหมดแล้วปล่อยให้สร้างใหม่

ล้าง Email Attachments

Email เป็นสาเหตุหลักที่ทำให้ Disk Space หมดเร็ว โดยเฉพาะถ้ามีผู้ใช้หลายคนและรับ Attachment ขนาดใหญ่บ่อยๆ:

  1. ล็อกอิน Webmail ที่ yourdomain.com/webmail
  2. เปิด Folder Inbox และ Sort by Size เพื่อหา Email ที่ใหญ่ที่สุด
  3. ลบ Email ที่มี Attachment ขนาดใหญ่และไม่จำเป็นแล้ว
  4. ล้าง Sent Items, Drafts และ Trash ด้วย
  5. คลิก Empty Trash เพื่อลบถาวร

ใน cPanel ยังสามารถตั้งค่า Auto-Delete Email เก่าที่อยู่ใน Trash มานานกว่ากี่วัน ได้ที่ Email > Email Disk Usage

ล้าง Trash และ Spam

Spam Folder สะสมได้มากโดยไม่รู้ตัว โดยเฉพาะถ้าเว็บไซต์มี Contact Form และถูก Spam มาก:

ตั้ง Disk Quota สำหรับ Email Account

การตั้ง Quota จะป้องกันไม่ให้ Email Account ใดใช้พื้นที่เกินที่กำหนด:

  1. ไปที่ cPanel > Email Accounts
  2. คลิก Manage ข้าง Email ที่ต้องการ
  3. ใส่ค่า Storage Space (MB) ที่ต้องการ เช่น 500 MB หรือ 1 GB
  4. คลิก Save

Zip ไฟล์เก่าที่ไม่ค่อยใช้

ไฟล์เก่าเช่น Log Files, Backup หรือรูปภาพ Archive สามารถบีบอัดได้เพื่อประหยัดพื้นที่:

# Compress โฟลเดอร์เก่าผ่าน SSH
tar -czf old_logs_2025.tar.gz logs/2025/

# หรือใช้ zip
zip -r backup_jan.zip backup/january/ --delete-after

# ตรวจขนาดก่อน-หลัง
du -sh logs/2025/ old_logs_2025.tar.gz

ตรวจสอบด้วย du command

# ดู Disk Usage ทั้ง Home Directory
du -sh ~/

# ดูขนาดของแต่ละโฟลเดอร์หลัก
du -sh ~/public_html/* | sort -rh | head -20

# หาไฟล์ที่ใหญ่กว่า 50 MB
find ~/ -size +50M -type f -exec ls -lh {} \;

# ดู Disk Space รวม
df -h
Tip: คำสั่ง du -sh * | sort -rh | head -20 ในโฟลเดอร์ไหนก็ตามจะบอกว่า Subfolder ไหนใหญ่ที่สุดทันที

แก้ปัญหาที่พบบ่อย

Disk Space แสดงเต็มทั้งที่ลบไฟล์ไปแล้ว

บางครั้งไฟล์ที่ลบแล้วยังถูก Process ถือไว้อยู่ (Deleted but Open) ทำให้ Space ยังไม่คืน ต้อง Restart Service หรือ Reboot Server หรือในกรณี Email ต้องล้าง Trash อย่างถาวรก่อน

Inode เต็มทั้งที่ Disk Space ยังเหลือ

Inode คือจำนวนไฟล์/โฟลเดอร์สูงสุดที่ Hosting รองรับ ปัญหานี้เกิดบ่อยกับ WordPress ที่มี Cache ไฟล์จำนวนมาก ตรวจสอบด้วย df -i และลบไฟล์ขนาดเล็กจำนวนมาก เช่น Cache, Session หรือ Temp files

พื้นที่ไม่เพิ่มหลังลบ Email

ต้องล้าง Trash/Deleted Items ให้หมดก่อน เพราะ Email ที่ "ลบ" แล้วจะไปอยู่ใน Trash ก่อน จนกว่าจะ Empty Trash อย่างถาวร Space ถึงจะคืนมา

คำถามที่พบบ่อย

ควรเก็บ Backup ไว้ที่ Hosting หรือไม่?

ไม่แนะนำให้เก็บ Backup หลักไว้ที่ Hosting เดียวกัน ถ้าเซิร์ฟเวอร์มีปัญหา Backup ก็จะหายไปด้วย ให้ดาวน์โหลด Backup มาเก็บในเครื่อง หรือใช้บริการ Cloud Storage เช่น Google Drive หรือ Dropbox สำหรับ Backup สำรอง

ล้าง WordPress Cache แล้วเว็บจะช้าลงไหม?

ชั่วคราวอาจช้าลงในช่วง Warm-up ที่ Cache กำลังสร้างใหม่ แต่ไม่กี่นาทีก็จะกลับมาเร็วเหมือนเดิม การล้าง Cache เป็นสิ่งที่ควรทำเป็นประจำ โดยเฉพาะหลังอัปเดต Theme หรือ Plugin

ควรเก็บ Log ไว้นานเท่าไหร่?

โดยทั่วไป Log ย้อนหลัง 30–90 วันเพียงพอสำหรับการ Debug และตรวจสอบความปลอดภัย Log เก่ากว่า 3 เดือนสามารถลบหรือ Archive ได้อย่างปลอดภัย หรือตั้ง Log Rotation เพื่อลบอัตโนมัติ