มีข้อผิดพลาดรายวันและเข้าถึงบันทึกบน Apache (สำหรับ Windows) อย่างไร


10

เรากำลังเรียกใช้ Apache 2.2.9 (Win32) โดยมีโฮสต์เสมือนสองสามตัวที่กำหนดค่าไว้ในเซิร์ฟเวอร์เดียว แต่ละคนมีการตั้งค่า ErrorLog และ CustomLog ของตัวเองซึ่งอยู่ในรูปแบบของ "บันทึก / [ชื่อโดเมน] -error.log" และ "บันทึก / [ชื่อโดเมน] -access.log" น่าเสียดายที่สิ่งเหล่านี้กำลังสร้างไฟล์ที่ค่อนข้างใหญ่

บน IIS คุณสามารถระบุกำหนดการบันทึกซึ่งสามารถวางไว้ในรูปแบบรายวันของ "yymmdd.log" มีบางอย่างที่ฉันสามารถทำได้ที่นี่ไหม

ไม่จำเป็นต้องเป็นรายวันรายสัปดาห์หรือรายเดือนจะทำ ฉันต้องการแยกพวกเขาออกเพื่อให้เราสามารถรักษาปริมาณ X แทนทุกสิ่งที่เคยบันทึกไว้ Google ฉบับย่อดูเหมือนว่าจะมีคำตอบของ Linux เกี่ยวกับตัวแยกบันทึกสคริปต์และงาน cron จำนวนมากซึ่งไม่เป็นประโยชน์สำหรับการติดตั้ง Windows

ปรับปรุง

ขอบคุณรัศมีฉันปรับแต่งhttpd-vhosts.confของฉันเพื่อใช้ Apache ในตัวคำสั่งrotatelogsในรูปแบบต่อไปนี้:

ErrorLog "|bin/rotatelogs logs/[domain name]-error.%Y-%m-%d-%H_%M_%S.log 5M" CustomLog "|bin/rotatelogs logs/[domain name]-access.%Y-%m-%d-%H_%M_%S.log 5M" common

พวกเขาจะสร้างไฟล์บันทึกใหม่เมื่อไฟล์ปัจจุบันถึง 5MB ฉันรู้ว่าไม่ใช่ทุกวันตามที่ขอ แต่มันทำให้พวกเขามีขนาดที่จัดการได้ซึ่งจะทำ ฉันลองหมุนหลังจากหลายวินาที แต่ดูเหมือนว่าไม่ได้จะประทับเวลาในชื่อไฟล์อย่างถูกต้อง (โดยเฉพาะชั่วโมงนาทีและวินาที)

คำตอบ:


11

สิ่งที่คุณกำลังมองหาคือโปรแกรม rotatelogs ที่มาพร้อมกับ apache http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

ตัวอย่างเช่นการหมุนบันทึกของคุณทุกวันเวลาเที่ยงคืน:

CustomLog "|bin/rotatelogs -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common

+1 ไม่รู้ว่า Apache มีทางออกเป็นของตัวเองหรือไม่
Karolis ต.

สำหรับใครก็ตามที่ใช้ Ubuntu คุณอาจต้องเปลี่ยนเส้นทาง/usr/bin/rotatelogsเป็นเหมือนที่rotatelogsพบ มิฉะนั้น Apache จะไม่สามารถเริ่มต้นใหม่เนื่องจากข้อผิดพลาด
BadHorsie

0

สิ่งที่คุณต้องการเรียกว่าการหมุนบันทึก

Google ดูเหมือนจะแสดงรายการลิงค์ที่เกี่ยวข้องกับเครื่องมือหมุนบันทึกข้อมูลสำหรับ windows

ดูเหมือนว่าโซลูชันของ Apache อาจช่วยคุณได้:

http://www.sprint.net.au/~terbut/usefulbox/apachelogrot.htm



0

ลองตรงกับ

CustomLog "|C:/<chemin vers apache>/bin/rotatelogs.exe E:/<chemin vers les logs>/<monsite>/access-%Y_%m_%d.log 86400 60" combined

2
โปรดเพิ่มคำอธิบายของสิ่งนี้
kasperd
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.