วิธี Clear log file ใน CWP

คำสั่งหลักๆที่จะใช้สำหรับการ ค้นหาไฟล์ที่มีขนาดใหญ่ เพื่อที่เราจะได้ทำการเลือก และลบ log ไฟล์เหล่านั้นครับ

du -h *
> filename.extension (เช่น error.log)
pwd

ทีนี้เรามาเริ่มทำการ ลบ log ต่างๆที่มีขนาดใหญ่บน CentOS Web Panel โดยไปตาม Path ด้านล่างนี้กันครับ

Apache logs are in folder

cd /usr/local/apache/logs

CWP server logs and server services logs, including (PhpMyAdmin/Roundcube/API):

/usr/local/cwpsrv/logs/
/usr/local/cwp/php71/var/log/

CSF & LFD firewall logs

/var/log/lfd.log

SSH logs

/var/log/secure

Yum logs

/var/log/yum.log

FTP logs

/var/log/messages

MySQL logs

/var/lib/mysql/

วิธ๊การก็คือ ให้เรา cd ไปที่ path ข้างต้น จากนั้นให้ใช้คำสั่ง du -h * เพื่อแสดงขนาดของไฟล์และโฟลเดอร์ทั้งหมดในพาธนั้นๆ

จากนั้นก็เลือกลบ log ในไฟล์ที่ต้องการด้วยคำสั่ง > filename.log ครับ

เราสามารถเช็คขนาดไฟล์อีกครั้งด้วยคำสั่ง du -h *

จะเห็นว่าพื้นที่ว่างภายใน Server ของเรากลับคืนมาแล้ว เนื่องจากเราทำการลบ log ในไฟล์นั้นๆไปแล้วนั่นเองครับ

สรุปรวมคำสั่งสำเร็จรูป

cd /usr/local/apache/logs
> access_log
> suphp_log
> error_log

ต่อด้วย Mysql logs

cd /var/lib/mysql
> mysql-slow.log

คำสั่งแบบทีเดียวจบ

cd /usr/local/apache/logs && > access_log && > suphp_log && > error_log && > /var/lib/mysql/mysql-slow.log

สำหรับใน CWP ไม่มีการ rotate ไฟล์ของ Apache ทำให้ขนาดของ log file ของ Apache ใหญ่มาก เราจะมา config ให้ logrotate จัดการกับ log file ของ Apache ด้วย

วิธี Config Logrotate สำหรับจัดการไฟล์ logs

"/usr/local/apache/domlogs/*" {
daily
create 0644 root root
rotate 30
size 5M
dateext
missingok
notifempty
postrotate
    /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}

ขั้นตอนแรก สร้างไฟล์ /etc/logrotate.d/apache ก่อน (ถ้ามีอยู่แล้ว ให้เปิดมาแก้ไข)
nano /etc/logrotate.d/apache

 /usr/local/apache/logs/access_log /usr/local/apache/logs/error_log /usr/local/apache/logs/suphp_log {
daily
missingok
rotate 120
compress
delaycompress
copytruncate
olddir /var/log/httpd
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
 } 

/usr/local/apache/domlogs/*
/usr/local/apache/logs/access_log
/usr/local/apache/logs/error_log
/usr/local/apache/logs/suphp_log {
daily
create 0644 root root
rotate 30
size 5M
dateext
missingok
notifempty
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}

DELETE FROM scr_statement_deposit WHERE datetime < ‘2019-02-13’;

DELETE FROM player_credit WHERE create_at < ‘2019-02-13’;

Leave a Reply

iameveme