ตารางเวลาใดที่ logrotate?


18

ฉันกำลังทำงานกับโปรแกรมที่สร้างไฟล์บันทึกขนาดใหญ่

ฉันต้องการจัดการกับ logrotate

นี่คือการกำหนดค่าที่ฉันใส่/etc/logrotate.d/:

/var/log/myproject.log  {
 hourly
 maxsize 1
 rotate 6
 missingok
 notifempty
 compress
 nocreate
 copytruncate
 su www-data www-data 
}

( /var/log/myproject.logมีเจ้าของwww-data)

คำสั่ง

sudo logrotate -vf /etc/logrotate.conf

และ

sudo logrotate -vf /etc/logrotate.d/myproject

หมุนบันทึกอย่างถูกต้อง

อย่างไรก็ตามหลังจากเรียกพวกเขา/etc/cron.hourlyว่างเปล่า ซึ่งหมายความว่า logrotate จะไม่ถูกเรียกทุกชั่วโมง

  1. ฉันรับประกันว่าจะมีlogrotateสคริปต์/etc/cron.dailyหรือไม่

  2. สคริปต์ตรวจสอบความถี่ในการอัปเดตไฟล์บันทึกหรือไม่ คือถ้าฉันมีlogrotateสคริปต์ใน/etc/cron.dailyและสำหรับไฟล์บันทึกบางอย่างXในการ/etc/logrotate.d/ตั้งค่าฉันweeklyจะXหมุนทุกวันหรือทุกสัปดาห์?

  3. สามารถฉันเพียงแค่คัดลอกวาง/etc/cron.daily/logrotateเพื่อ/etc/cron.hourly/? ฉันสามารถตัดและวางได้ไหม

  4. ฉันควรเพิ่ม0anacronไฟล์ลงใน/etc/cron.hourly/?

  5. ฉันควรทำอย่างอื่นเพื่อเปิดใช้งานการบันทึกทุกชั่วโมงหรือไม่


2
เคล็ดลับสำหรับคำถามที่ 1: ดูผลลัพธ์ของgrep -r logrotate /etc/cron*
guntbert

@guntbert ฉันเคยพูดมาก่อนแล้วฉันจะพูดอีกครั้ง คุณเป็นนักบุญและเป็นวีรบุรุษ
Darth Egregious

คำตอบ:


10
  1. เลขที่

  2. จากman logrotate:

    Each  configuration  file  can  set  global  options (local definitions
    override global ones, and later definitions override earlier ones)
    

    ใช่.

  3. อีกครั้งจาก manpage:

    hourly Log files are rotated every hour. Note that usually logrotate is
           configured  to  be  run  by  cron daily. You have to change this
           configuration and run logrotate hourly  to  be  able  to  really
           rotate logs hourly.
    

    ดังนั้นใช่คุณควรย้ายสคริปต์ การตรวจสอบcron.dailyสคริปต์ในระบบของฉันฉันคิดว่าการย้ายสคริปต์ควรทำงานได้ดี

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