是否可以手动运行一次logrotate迭代而无需在某个时间间隔内进行调度?
#1楼
运行所有logrotate的方法是:
logrotate -f /etc/logrotate.conf
这将运行主logrotate文件,其中包括其他logrotate配置
#2楼
您可能希望以详细+强制模式运行它。
logrotate -vf /etc/logrotate.conf
#3楼
如果要强制运行单个特定目录或守护程序的日志文件,通常可以在/etc/logrotate.d
找到配置,它们将独立运行。
请记住,/ /etc/logrotate.conf
中/etc/logrotate.conf
全局配置将不适用,因此,如果这样做,应确保在/etc/logrotate.d/[servicename]
配置文件中明确指定所需的所有选项。
你可以用-d
试试看看会发生什么:
logrotate -df /etc/logrotate.d/nginx
然后你可以运行(使用nginx作为例子):
logrotate -f /etc/logrotate.d/nginx
并且单独的nginx日志将被轮换。
#4楼
是的: logrotate --force $CONFIG_FILE
#5楼
发出以下命令,运行指定的logrotate的方法:
logrotate -vf /etc/logrotate.d/custom
选项:
-v:显示进程
-f:强制运行
custom:用户定义的日志设置
例如:mongodb-log
# mongodb-log rotate
/data/var/log/mongodb/mongod.log {
daily
dateext
rotate 30
copytruncate
missingok
}
#6楼
创建了一个shell脚本来解决问题。
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
此脚本将仅运行“/etc/logrotate.d”中的单个logrotate子配置文件,但包括全局配置文件“/etc/logrotate.conf”中的全局设置。 您还可以使用其他otpions进行测试......
例如...
logrotate_one -d syslog
#7楼
编辑/var/lib/logrotate.status以重置要测试的日志文件上的“上次轮换”日期。
然后运行logrotate YOUR_CONFIG_FILE
。
或者您可以使用--force标志,但编辑logrotate.status可以提供更多关于旋转和不旋转的精度。
#8楼
logrotate -d [your_config_file]
调用调试模式,为您提供详细的描述,但保持日志文件不变。