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