thủ công quay logfile với rsyslogd


10

Tôi muốn buộc xoay vòng logfile bằng cách sử dụng logrotate -f /var/log/syslog, nhưng nó chỉ trả về âm của:

error: syslog:1 unknown option 'May' -- ignoring line
error: syslog:1 unexpected text

Tôi biết rằng trên hệ thống này rsyslogd đang chạy. Làm thế nào để xoay /var/log/syslog? Tôi muốn nó trống rỗng.

Câu trả lời:


23

Bạn không cho biết logrotatetập tin nào sẽ xoay trên dòng lệnh. Bạn truyền cho nó một tập tin cấu hình. Vì vậy, trong trường hợp của bạn, logrotateđang đọc /var/log/syslogvà cố gắng phân tích nó dưới dạng tệp cấu hình và không thành công (do đó là lỗi của bạn).

Nếu bạn muốn xoay /var/log/syslognó cần được liệt kê trong logrotatetệp cấu hình ở đâu đó và bạn chỉ cần chạy logrotate. Nếu nó quay gần đây, sau đó logrotate -fbuộc nó phải làm lại.

Đây là một mục ví dụ cho /var/log/syslogDebian,

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog reload > /dev/null
        endscript
}

Vì vậy, bạn cần điều đó trong một tệp, thông thường /etc/logrotate.confhoặc là một đoạn tệp để /etc/logrotate.dgiả sử các /etc/logrotate.confđiểm của bạn ở đó, và sau đó bạn chỉ cần chạy logrotate /etc/logrotate.conf.

Vì bạn đang chạy Debian, đây có thể là tất cả tại chỗ và tất cả những gì bạn cần thực sự là chạy logrotate -f /etc/logrotate.conf(lưu ý, điều này sẽ xoay mọi nhật ký hiện được cấu hình trong logrotate).

Nếu bạn thực sự chỉ muốn xoay /var/log/syslog, bạn sẽ cần tạo một tệp cấu hình chỉ thực hiện một bản ghi đó, dựa trên nội dung của /etc/logrotate.conf+ /etc/logrotate.d/rsyslog.

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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.