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.