คุณไม่ได้บอกlogrotate
ไฟล์ที่จะหมุนในบรรทัดคำสั่ง คุณส่งไฟล์การกำหนดค่า ดังนั้นในกรณีของคุณlogrotate
คือการอ่าน/var/log/syslog
และพยายามแยกวิเคราะห์เป็นไฟล์กำหนดค่าและล้มเหลว (เนื่องจากข้อผิดพลาดของคุณ)
หากคุณต้องการที่จะหมุน/var/log/syslog
จะต้องมีการระบุไว้ในlogrotate
ที่ใดที่หนึ่งไฟล์ config logrotate
และคุณทำงานเพียง ถ้ามันหมุนเร็ว ๆ นี้แล้วlogrotate -f
ให้บังคับให้มันทำอีกครั้ง
นี่คือตัวอย่างรายการสำหรับ/var/log/syslog
จาก Debian
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
ดังนั้นคุณต้องว่าในไฟล์ตามปกติอย่างใดอย่างหนึ่ง/etc/logrotate.conf
หรือเป็นตัวอย่างแฟ้มใน/etc/logrotate.d
สมมติว่าคุณจุดที่มีและจากนั้นคุณเรียกเพียง/etc/logrotate.conf
logrotate /etc/logrotate.conf
เนื่องจากคุณใช้ Debian สิ่งนี้อาจเป็นไปได้ทั้งหมดและสิ่งที่คุณต้องทำจริงก็คือเรียกใช้logrotate -f /etc/logrotate.conf
(หมายเหตุสิ่งนี้จะหมุนเวียนทุกบันทึกที่กำหนดค่าใน logrotate ในปัจจุบัน)
ถ้าคุณอย่างแท้จริงเพียงต้องการที่จะหมุน/var/log/syslog
คุณจะต้องสร้างไฟล์ config ที่เพียงแค่ไม่ว่าอย่างใดอย่างหนึ่งเข้าสู่ระบบขึ้นอยู่กับเนื้อหาของ+/etc/logrotate.conf
/etc/logrotate.d/rsyslog