Ubuntu-14.04

Rsyslog 旋轉,但仍記錄到舊日誌

  • January 28, 2021

伺服器:Ubuntu 伺服器 14.04

我有一個 Watchguard Firebox 記錄到伺服器。它應該每天輪換,但是,當輪換發生時,它不會寫入新日誌。它一直寫到前一個。

裡面的配置/etc/logrotate.d/

/var/log/watchguard
{
   rotate 14
   daily
   missingok
   create 640 syslog adm
   compress
   delaycompress
   sharedscripts
   su root syslog
   postrotate
           /usr/sbin/service rsyslog reload >/dev/null 2>&1 || true
   endscript
}

如您所見,輪換正在發生,但最新日誌未寫入:

-rw-r----- 1 syslog    adm        20 Jan 17 02:30 watchguard.3.gz
-rw-r----- 1 syslog    adm        20 Jan 18 02:30 watchguard.2.gz
-rw-r----- 1 syslog    adm         0 Jan 20 02:30 watchguard <---- SHOULD CONTAIN DATA
-rw-r----- 1 syslog    adm      3.0G Jan 20 10:34 watchguard.1 <--- ROTATED, BUT STILL GETTING DATA

就好像它不關心文件的名稱一樣。它只是繼續寫。我的logrotate配置語法不正確嗎?

我完全刪除了postrotate腳本,並添加了copytruncate. 檢查了過去幾天的日誌,它正在輪換,並使用最新的日誌。如果有更好的方法,非常歡迎有人加入,但這對我有用。

/var/log/watchguard
{
   rotate 14
   daily
   missingok
   create 640 syslog adm
   compress
   delaycompress
   su root syslog
   copytruncate
}

工作得很好!

-rw-r----- 1 syslog    adm      336M Jan 27 02:34 watchguard.2.gz
-rw-r----- 1 syslog    adm      5.2G Jan 28 02:34 watchguard.1
-rw-r----- 1 syslog    adm      950M Jan 28 08:02 watchguard

引用自:https://serverfault.com/questions/1050589