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:~ #
答案1
该dateformat
选项是在版本 3.7.7 中引入的,因此您需要升级。我确实知道 SLES 11 的存储库中提供了 3.7.7,但我不知道 SLES 10。
(除此之外,我绝对建议您尽快将服务器升级到 SLES 的最新版本 - 虽然它还没有完全停产,但不会再有任何服务包,而且它正在变得越来越多接近其生命周期的终点...)