Logrotate

在 logrotate 中使用日期格式

  • October 2, 2014
cat /etc/logrotate.d/syslog

...
/var/log/messages {
   daily
   compress
   dateext
   dateformat "-%Y%m%d-%s"
   maxage 90
   rotate 90
   missingok
   notifempty
   size +4096k
   create 644 root root
   sharedscripts
   postrotate
   /etc/init.d/syslog reload
   endscript
}
...


SERVER:/var/log # /usr/sbin/logrotate /etc/logrotate.conf >/dev/null
error: syslog:21 unknown option 'dateformat' -- ignoring line
error: syslog:21 unexpected text
error: destination /var/log/messages-20141002.gz already exists, skipping rotation
SERVER:/var/log # 

**問:**在 SLES10 上,如何將 logrotate 配置文件中的 dateformat 選項設置為不僅在旋轉的文件名中具有 YYYYMMDD 格式,而且還應該有其他的東西,小時或分鐘或任何唯一的。

問題是它需要每天輪換一次以上,所以使用這一天是不行的,因為“已經存在”..

更新:

SERVER:~ # rpm -qa|grep -i ^logrotate
logrotate-3.7.3-13.17.1
SERVER:~ # 

dateformat選項是在版本 3.7.7 中引入的,因此您需要升級。我確實知道 SLES 11 的儲存庫中提供了 3.7.7,但我不知道 SLES 10。

(除此之外,我絕對建議您盡快將伺服器升級到更新版本的 SLES - 雖然它還沒有完全 EOL,但不會有更多的服務包,而且它正在獲得接近其生命週期的終點……)

引用自:https://unix.stackexchange.com/questions/158793