是否可以手动运行一次logrotate检查?

本文讨论了如何手动执行logrotate以检查或测试日志文件的轮换,包括使用-v和-f选项,强制轮换特定服务的日志,以及通过编辑logrotate.status文件来模拟轮换。同时提到了创建shell脚本以实现这一目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

是否可以手动运行一次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]调用调试模式,为您提供详细的描述,但保持日志文件不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值