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


当前回答

发出以下命令,指定logrotate的运行方式:

logrotate -vf /etc/logrotate.d/custom

选项:

-v:显示进程

-f:强制运行

自定义:自定义日志设置

例如: mongodb-log

# mongodb-log rotate

/data/var/log/mongodb/mongod.log {
    daily
    dateext
    rotate 30
    copytruncate
    missingok
}

其他回答

如果您想强制运行单个特定目录或守护进程的日志文件,通常可以在/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 -d [your_config_file]调用调试模式,为您详细描述将发生什么,但保持日志文件不变。

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

Logrotate -vf /etc/logrotate.conf

发出以下命令,指定logrotate的运行方式:

logrotate -vf /etc/logrotate.d/custom

选项:

-v:显示进程

-f:强制运行

自定义:自定义日志设置

例如: mongodb-log

# mongodb-log rotate

/data/var/log/mongodb/mongod.log {
    daily
    dateext
    rotate 30
    copytruncate
    missingok
}

是:logrotate——force $CONFIG_FILE