[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

如何使用 Windows Apache 日志轮转删除日志

我叫伊藤,是一名基础设施工程师。

Logrotate 用于在 Linux 上配置 Apache 日志轮转。

有关日志轮换的更多信息,请参阅此处。
尝试使用日志轮转(logrotate)(httpd(apache)配置示例) | 设置和构建租赁服务器/家庭服务器的提示

顺便,我研究了Windows中日志轮换的工作原理,发现
日志是使用Windows Apache自带的“rotatelogs.exe”进行轮换的,但似乎无法删除。

这是轮换后删除旧日志的方法。

检查 Apache 日志设置

在“httpd.conf”中配置 Apache 日志文件输出设置。
每天更改日志输出设置。

#原设置 ErrorLog "|bin/rotatelogs.exe logs/error-%Y%m%d-%H.log 10M -l" CustomLog "|bin/rotatelogs.exe logs/access-%Y%m%d- % H.log 10M -l" common #设置更改后 ErrorLog "| bin/rotatelogs.exe messages/error_%Y%m%d.log 86400" CustomLog "| bin/rotatelogs.exe logs/access_%Y%m%d .log 86400" 常见

原来的设置是“日志达到10MB时轮换”,所以
改为“每86400秒(1天)轮换”。

如果您使用的是 Linux,如果您配置了设置,logrotate 甚至会删除日志,但
如果您使用的是 Windows,则需要执行更多操作。

创建批处理文件

可以通过创建批处理文件并定期运行该批处理来删除旧的轮换文件。

forfiles /P "D:\Apache\logs" /D -7 /C "cmd /c del @file"

使用“forfiles”命令提取符合条件的文件。
每个参数的含义如下。

争论 解释
/P 目标路径
/D 根据文件修改日期提取(-7表示7天前)
/C 对输出文件执行另一个命令(在本例中为 cmd 命令)
@文件 提取文件的变量(@ext是代表提取文件​​扩展名的变量)

通过创建这样的批处理文件并将其注册到任务计划程序中,
您可以从轮换文件中删除 x 天前的文件。
使用压缩命令(例如 7zip)而不是 del 命令来
压缩旧日志组合是无穷无尽的。

如果您觉得这篇文章有帮助,请点赞!
1
加载中...
1 票,平均:1.00 / 11
21,086
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者