pil*_*row 681
是: logrotate --force $CONFIG_FILE
san*_*ver 518
logrotate -d [your_config_file] 调用调试模式,为您提供将要发生的事情的详细描述,但保持日志文件不变.
tri*_*web 115
如果要强制运行单个特定目录或守护程序的日志文件,通常可以在其中找到配置/etc/logrotate.d,它们将独立运行.
请记住,指定的全局配置/etc/logrotate.conf将不适用,因此,如果这样做,您应确保具体指定/etc/logrotate.d/[servicename]配置文件中所需的所有选项.
您可以尝试一下,-d看看会发生什么:
logrotate -df /etc/logrotate.d/nginx
Run Code Online (Sandbox Code Playgroud)
然后你可以运行(使用nginx作为例子):
logrotate -f /etc/logrotate.d/nginx
Run Code Online (Sandbox Code Playgroud)
并且单独的nginx日志将被轮换.
All*_*ock 34
运行所有logrotate的方法是:
logrotate -f /etc/logrotate.conf
Run Code Online (Sandbox Code Playgroud)
这将运行主logrotate文件,其中包括其他logrotate配置
小智 21
发出以下命令,运行指定的logrotate的方法:
logrotate -vf /etc/logrotate.d/custom
Run Code Online (Sandbox Code Playgroud)
选项:
-v:显示进程
-f:强制运行
custom:用户定义的日志设置
例如:mongodb-log
# mongodb-log rotate
/data/var/log/mongodb/mongod.log {
daily
dateext
rotate 30
copytruncate
missingok
}
Run Code Online (Sandbox Code Playgroud)
创建一个shell脚本来解决这个问题。
https://antofthy.gitlab.io/software/#logrotate_one
该脚本将仅运行“/etc/logrotate.d”中的单个 logrotate 子配置文件,但包含全局配置文件“/etc/logrotate.conf”中的全局设置。您还可以使用其他选项来测试它......
例如...
logrotate_one -d syslog
Run Code Online (Sandbox Code Playgroud)
编辑/var/lib/logrotate.status以在要测试的日志文件上重置“上次旋转”日期。
然后运行logrotate YOUR_CONFIG_FILE。
或者,您可以使用--force标志,但是编辑logrotate.status可以使您更精确地旋转和不旋转。