是否有可能手动运行logrotate的一次迭代,而不将其安排在某个间隔上?


当前回答

运行所有logrotate的方法是:

logrotate -f /etc/logrotate.conf

这将运行主日志文件,其中还包括其他日志配置

其他回答

是:logrotate——force $CONFIG_FILE

您可能希望在verbose + force模式下运行它。

Logrotate -vf /etc/logrotate.conf

如果您想强制运行单个特定目录或守护进程的日志文件,通常可以在/etc/logrotate中找到配置。D,它们将独立工作。

请记住,在/etc/logrotate.conf中指定的全局配置将不适用,因此如果您这样做,您应该确保在/etc/logrotate中指定了所需的所有选项。D /[servicename]配置文件。

你可以用-d来试试,看看会发生什么:

logrotate -df /etc/logrotate.d/nginx

然后你可以运行(以nginx为例):

logrotate -f /etc/logrotate.d/nginx

nginx log单独被旋转。

运行所有logrotate的方法是:

logrotate -f /etc/logrotate.conf

这将运行主日志文件,其中还包括其他日志配置

创建一个shell脚本来解决这个问题。

https://antofthy.gitlab.io/software/#logrotate_one

该脚本将只运行“/etc/logrotate”目录下的单个logrotate子配置文件。但是在全局配置文件“/etc/logrotate.conf”中包含全局设置。你也可以使用其他方法来测试它…

例如……

  logrotate_one -d syslog