是否有可能运行一个日志检查手动?

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

571689 次浏览

是的:# EYZ0

logrotate -d [your_config_file]调用调试模式,为您详细描述将发生什么,但不影响日志文件。

运行所有logrotate的方法是:

logrotate -f /etc/logrotate.conf

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

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

# EYZ0

如果希望强制运行单个特定目录或守护进程的日志文件,通常可以在/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 -vf /etc/logrotate.d/custom

选项:

-v:显示进程

-f:强制运行

自定义:自定义日志设置

< p >如: mongodb-log < / p >
# mongodb-log rotate


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

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

< a href = " https://antofthy.gitlab。Io /software/#logrotate_one" rel="nofollow noreferrer">https://antofthy.gitlab.io/software/#logrotate_one

该脚本将只运行在"/etc/logrotate.d"中找到的单个logrotate子配置文件,但包括全局配置文件"/etc/logrotate.conf"中的全局设置。你也可以使用其他方法来测试它…

例如……

  logrotate_one -d syslog

编辑/var/lib/logrotate.状态(或/var/lib/loglogrotate/logrotate.status)重置要测试的日志文件上的“上次旋转”日期。

然后执行logrotate YOUR_CONFIG_FILE命令。

或者你可以使用——force标志,但是编辑logrotate。状态可以让您更精确地确定哪些可以旋转,哪些不可以旋转。