什麼安排 logrotate?

什麼安排 logrotate?

我正在開發一個創建大日誌檔案的程式。

我想用 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.dailyX/etc/logrotate.d/weeklyX

  3. 我可以直接複製貼上/etc/cron.daily/logrotate/etc/cron.hourly/嗎?我可以剪下和貼上嗎?

  4. 我應該將0anacron文件添加到嗎/etc/cron.hourly/

  5. 我應該做其他事情來啟用每小時日誌記錄嗎?

答案1

  1. 不。

  2. man logrotate:

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

    所以,是的。

  3. 再次,來自線上幫助頁:

    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我係統中的腳本,我認為移動它應該可以正常工作。

相關內容