Logrotate 说它旋转但不旋转

问题描述

我在 Raspbian 9 系统上使用 logrotate 有一个奇怪的问题。

Logrotate 似乎被配置为每 7 天轮换一次 /var/log/syslog。当我运行 logrotate -f -d /etc/logrotate.conf 时,输出告诉我:

rotating pattern: /var/log/syslog
 forced from command line (7 rotations)
empty log files are not rotated,old logs are removed
considering log /var/log/syslog
  Now: 2021-03-16 09:56
  Last rotated at 2020-11-02 12:26
  log needs rotating
rotating log /var/log/syslog,log->rotateCount is 7
dateext suffix '-20210316'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
compressing log with: /bin/gzip
renaming /var/log/syslog.7.gz to /var/log/syslog.8.gz (rotatecount 7,logstart 1,i 7),renaming /var/log/syslog.6.gz to /var/log/syslog.7.gz (rotatecount 7,i 6),renaming /var/log/syslog.5.gz to /var/log/syslog.6.gz (rotatecount 7,i 5),renaming /var/log/syslog.4.gz to /var/log/syslog.5.gz (rotatecount 7,i 4),renaming /var/log/syslog.3.gz to /var/log/syslog.4.gz (rotatecount 7,i 3),renaming /var/log/syslog.2.gz to /var/log/syslog.3.gz (rotatecount 7,i 2),renaming /var/log/syslog.1.gz to /var/log/syslog.2.gz (rotatecount 7,i 1),renaming /var/log/syslog.0.gz to /var/log/syslog.1.gz (rotatecount 7,i 0),log /var/log/syslog.8.gz doesn't exist -- won't try to dispose of it
renaming /var/log/syslog to /var/log/syslog.1
creating new /var/log/syslog mode = 0640 uid = 0 gid = 4
running postrotate script
running script with arg /var/log/syslog: "
                invoke-rc.d rsyslog rotate > /dev/null
"

所以它说它正在将 /var/log/syslog 重命名/var/log/syslog.1 并创建一个新的 syslog。所以到目前为止一切似乎都很好。

只是,它没有注意到。之后没有syslog.1,syslog文件和之前一样。什么都没发生。

有一件事要提到:/var/log 是 tmpfs-这有关系吗? 安装为:tmpfs on /var/log type tmpfs (rw,nosuid,nodev,relatime)

感谢您的想法!

/KNEBB

解决方法

并在这里更新问题:我不读书真是太愚蠢了。在调试模式下运行时(如上所述),logrotate 什么也不做——它只是告诉你如果没有“-d”运行会是什么。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...