Cơ chế quay vòng nhật ký nội bộ có thể xóa các tệp nhật ký cũ hơn một thời gian nhất định không?


9

Tôi đang sử dụng cơ chế xoay vòng nhật ký nội bộ của posgtres. Tôi muốn các tệp nhật ký cũ hơn 30 ngày sẽ bị xóa. Làm thế nào để tôi có được postgres để làm điều này? Nếu postgres không hỗ trợ, tôi có thể đặt logrotate để chỉ xóa nhật ký cũ hơn 30 ngày không?

Cấu hình hiện tại của tôi là:

log_destination = 'stderr'             
logging_collector = on
log_directory = 'pg_log'                
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' 
#log_truncate_on_rotation = off 
log_rotation_age = 1440         
log_rotation_size = 0    

Câu trả lời:


5

Tôi không tin rằng cơ chế ghi nhật ký Postgres hỗ trợ việc dọn dẹp này, nhưng bạn hoàn toàn an toàn khi xóa nhật ký cũ bằng logrotate hoặc công việc định kỳ miễn là bạn không gây rối với logfile đang hoạt động mà Postgres đang viết.

Đối với đăng nhập Postgres tôi thường thích đăng nhập vào syslog và để các thủ tục xoay vòng nhật ký bình thường làm việc của họ. Điều này có một vài lợi thế, nhưng hai ưu điểm lớn là khả năng sử dụng các quy trình xoay vòng nhật ký tiêu chuẩn của bạn (như logrotate) giống như cách bạn làm với các trình nền khác và khả năng để trình nền syslog của bạn gửi nhật ký đến máy chủ từ xa, nếu đó là điều bạn muốn làm một ngày

Các tùy chọn khác được thảo luận (mặc dù ngắn gọn) trong phần 23.3 của hướng dẫn Postgres .


1

Nếu bạn không sử dụng syslog thì bạn có thể chạy đoạn script sau từ cron và gọi nó là một ngày.

#!/bin/sh

HOME=/var/lib/pgsql
export HOME
PGDATA=/var/lib/pgsql/9.1/data
export PGDATA

/usr/bin/find $PGDATA/pg_log -type f -ctime +30 -name "*.log" -exec /bin/rm {} \;

Bằng cách không đăng nhập vào syslog, bạn cũng có thể sử dụng các công cụ như pgAdmin hoặc pgFouine để xem / phân tích nhật ký cơ sở dữ liệu.


pgFouine là những gì dẫn tôi xuống con đường này. Bạn có thể sử dụng pgFouine từ nhật ký nhật ký hệ thống nhưng công việc của nó sẽ được thiết lập đúng hơn.
Freiheit
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.