apache accesslog,วิธีแก้ apache access มีขนาดใหญ่
กราบสวัสดีทุกท่าน ท่ามกลางกระแสการปรับเงินเดือนอันอึมครึม และสวัสดีมิตรรักแฟนเพลง ช่วงนี้ผมยังคงวนเวียนอยู่แถว apache webserver เพราะยังมีอะไรอีกหลายอย่างที่ยังเรียนรู้ไม่หมด คาดว่าคงเอามาเขียนเป็นบันทึกกันลืมได้อีกยาว วันนี้มาพูดกันถึงเรื่องของ logfile ครับ ใครที่ใช้ apache แล้วไม่ได้ไปแก้ค่าให้ตัว apache สร้าง logfile แบบวันต่อวันคงต้องปวดหัวเรื่อง accesslog ของเจ้าตัว apache อยู่ไม่น้อยเพราะมันจะมีขนาดใหญ่ขึ้นทุกวันจนต้องหาโปรแกรมที่สามารถเปิดดู log ขนาดใหญ่ได้ เช่น apachelogviewer ซึ่งจริงๆแล้วเราสามารถกำหนดให้ apache สร้าง logfile เป็นรายวันได้ด้วยการแก้ไขเพียงบรรทัดเดียวในไฟล์ httpd.conf ดังต่อไปนี้
1.ต้องมี rotatelogslogs ก่อน (ส่วนมากจะอยู่ใน bin แต่คาดว่าน่าจะมีทุกคน)
2.เปิดไฟล์ httpd.conf มาแล้วก็แก้
เป็น linux ก็
CustomLog "|bin/rotatelogs /var/logs/logfile 86400" common //สร้าง logfile การใช้งาน 86400 วินาที (24 ชั่วโมง)
CustomLog "|bin/rotatelogs -l /var/logs/logfile.%Y.%m.%d 86400" common //สร้าง logfile โดยเครื่องหมาย . ในที่นี้คือตัวคั่นระหว่างชื่อไฟล์เช่น logfile.2012.09.18 ก็จะได้ประมาณนี้ครับ
CustomLog "|bin/rotatelogs /var/logs/logfile 5M" common //อันนี้กำหนดขนาดของ logfile ไม่ให้เกิน 5 M
ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
//อันนี้กำหนดขนาดของ logfile ไม่ให้เกิน 5 M พร้อมทั้งใส่ปีเดือนวันและเวลา
เป็น windows ก็
CustomLog "|bin/rotatelogs.exe logs/access.%y-%m-%d.log 86400" common //ก็จะได้เป็นชื่อไฟล์ เช่น access.2012-09-18.log
พอแก้เสร็จแล้วให้ save แล้ว restart service apache ครับ
*ข้อควรระวัง*
เวลาแก้ไขให้ใช้วิธีใส่เครื่องหมาย # ไว้หน้าคำสั่งเก่าเช่น เพื่อป้องกันความผิดพลาดหากเราเขียนเครื่องหมายผิดไป service apache มันจะไม่ยอม start ให้นะครับ
#CustomLog logs/access.log common Modify by champ 9:35 170955
CustomLog "|bin/rotatelogs.exe logs/access.%y-%m-%d.log 86400" common
ขอให้ภาระกิจลุล่วงครับ ^^
อ้างอิง
http://httpd.apache.org/docs/2.2/programs/rotatelogs.html
เครดิต http://share.psu.ac.th/blog/champy-it/25167
ไม่มีความคิดเห็น:
แสดงความคิดเห็น