maxsize 100M 条目是一个轮转触发器,而不是 Tinyproxy 日志文件的实时上限。如果 logrotate 每天只运行一次,文件在下次检查前可能已增长到超过 100 MB。

如果 Tinyproxy 直接写入 LogFile,可把如下策略合并进它现有的 logrotate 配置段:

daily
maxsize 100M
rotate 7
compress
delaycompress

保留已安装配置段中正确的路径、属主、create 权限以及针对该服务的 postrotate 处理。这段内容只提供保留策略,并不是完整的服务集成。

如果每日检查让增长过于明显,就安排更频繁地运行 logrotate。每次运行都会评估规则,但并不一定会轮转。在按大小轮转时,rotate 7 表示七个已轮转文件,可能只代表不到七天。

重新打开才让轮转完整

文件被重命名后,Tinyproxy 需要重新打开它的日志。Tinyproxy 将 SIGUSR1 记为重新加载配置并关闭再重新打开日志文件;它还会重新加载过滤配置。请保留软件包中已经执行正确动作的辅助脚本,而不是猜测信号或 PID 文件位置。

删除活动文件并不会协调那次重新打开。copytruncate 避免了重命名再重新打开的做法,但它有一个已记录的时间间隔,在这段时间内复制和截断可能造成数据丢失。

如果代理把日志发送到 Syslog,请在接收端日志系统中应用保留策略,而不是为 Tinyproxy 并不写入的文件添加规则。

相关文章