iT邦幫忙

1

crontab日誌使用logrotate切割問題

  • 分享至 

  • xImage

系統: linux的CentOS Stream release 9

因為看到/var/log下面的crontab日誌佔太大的容量
所以想使用logroate做分割

  1. 創建/etc/logrotate.d/cron
/var/log/cron-* {
    daily
    rotate 2
    size 50M
    missingok
    notifempty
    compress
    delaycompress
    create 0640 root root
}
  1. 接著直接執行

logrotate -f /etc/logrotate.conf

  1. 卻出現錯誤

error: rsyslog:1 duplicate log entry for /var/log/cron

雖然不影響切割,但是還是想知道是不是有其他控制crontab日誌切割的預設檔

因為原本總共也只有幾個cron檔
分別為:
cron, cron-20231112, cron-20231105, cron-20231029, cron-20231022
然後我也去看/etc/cron.weekly, /etc/cron.monthly底下都沒東西

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
Ray
iT邦大神 1 級 ‧ 2023-11-14 20:16:47
最佳解答

你先去看一下 /etc/logrotate.d/rsyslog 這個檔案,
它裡面已經處理過 /var/log/cron 目錄了:

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
    endscript
}

所以你自己多設的 /etc/logrotate.d/cron 跟這個檔案的指令衝突.

如果 rsyslog 裡面的設定不符合你使用, 你可以刪掉它第一行:

/var/log/cron

這樣你自己的 /etc/logrotate.d/cron 才可以正常工作.

blank iT邦新手 4 級 ‧ 2023-11-14 23:45:54 檢舉

有找到了~ 謝謝解答!
現在沒問題了

我要發表回答

立即登入回答