Làm thế nào để có lỗi hàng ngày và nhật ký truy cập trên Apache (cho Windows)?


10

Chúng tôi đang chạy Apache 2.2.9 (Win32) với một vài máy chủ ảo được định cấu hình trên một máy chủ. Mỗi cái có các cài đặt ErrorLog và CustomLog riêng có định dạng "log / [tên miền] -error.log" và "log / [tên miền] -access.log". Thật không may, bây giờ chúng đang tạo ra các tập tin khá lớn.

Trên IIS, bạn có thể chỉ định lịch trình nhật ký, có thể đặt chúng ở định dạng hàng ngày là "yymmdd.log". Có điều gì tương tự tôi có thể làm ở đây?

Nó không phải là hàng ngày, hàng tuần hoặc hàng tháng sẽ làm. Tôi chỉ muốn phá vỡ chúng để chúng tôi có thể giữ số tiền X thay vì mọi thứ đã từng đăng nhập. Google nhanh chóng dường như đưa ra rất nhiều câu trả lời theo định hướng của Linux liên quan đến trình phân tách nhật ký, tập lệnh và công việc định kỳ không quá hữu ích cho việc cài đặt Windows.

Cập nhật

Nhờ bán kính, tôi đã điều chỉnh httpd-vhosts.conf của mình để sử dụng lệnh rotatelogs tích hợp của Apache , theo định dạng sau:

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

Họ sẽ tạo một tệp nhật ký mới khi tệp hiện tại đạt 5 MB. Tôi biết rằng đó không phải là hàng ngày như yêu cầu, nhưng điều đó giữ cho họ ở một kích thước có thể quản lý sẽ làm. Tôi đã thử xoay sau rất nhiều giây nhưng dường như không đặt đúng dấu thời gian trong tên tệp (cụ thể là giờ, phút và giây).

Câu trả lời:


11

Những gì bạn đang tìm kiếm là chương trình rotatelogs đi kèm với apache http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

Ví dụ, để xoay nhật ký của bạn hàng ngày vào nửa đêm:

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

+1, không biết Apache có giải pháp của riêng nó.
Karolis T.

Đối với bất kỳ ai sử dụng Ubuntu, bạn có thể cần phải thay đổi đường dẫn đến /usr/bin/rotatelogs, vì đó là nơi rotatelogsđược tìm thấy. Nếu không, Apache sẽ không khởi động lại do lỗi.
BadHorsie



0

Hãy thử trực tiếp với

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

2
Vui lòng thêm một lời giải thích về những gì nó làm.
kasperd
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.