การหมุนล็อกไฟล์ด้วย rsyslogd ด้วยตนเอง


10

ฉันต้องการบังคับให้หมุนการบันทึกไฟล์โดยใช้logrotate -f /var/log/syslogแต่จะส่งคืนเฉพาะเสียงของ:

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

ฉันรู้ว่าในระบบนี้ rsyslogd กำลังทำงานอยู่ หมุน/var/log/syslogอย่างไร ฉันต้องการมันว่างเปล่า

คำตอบ:


23

คุณไม่ได้บอก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.conflogrotate /etc/logrotate.conf

เนื่องจากคุณใช้ Debian สิ่งนี้อาจเป็นไปได้ทั้งหมดและสิ่งที่คุณต้องทำจริงก็คือเรียกใช้logrotate -f /etc/logrotate.conf(หมายเหตุสิ่งนี้จะหมุนเวียนทุกบันทึกที่กำหนดค่าใน logrotate ในปัจจุบัน)

ถ้าคุณอย่างแท้จริงเพียงต้องการที่จะหมุน/var/log/syslogคุณจะต้องสร้างไฟล์ config ที่เพียงแค่ไม่ว่าอย่างใดอย่างหนึ่งเข้าสู่ระบบขึ้นอยู่กับเนื้อหาของ+/etc/logrotate.conf/etc/logrotate.d/rsyslog

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.