我有一个应用程序,它将其日志文件写入一个特殊文件夹中。现在我想添加一个功能,在定义的时间段后自动删除这些日志。但我应该将日志文件保留多长时间?什么是“好的”默认值(7 天或 180 天)?或者您更喜欢其他标准(例如最大已用磁盘空间)?
答案1
没有唯一的答案。需要考虑的因素:
- 保留或销毁的法律要求
- 公司保留和销毁政策
- 日志的有效期是多久
- 你希望从日志中回答什么问题
- 它们占用了多少空间
我有一些几天内就会滚动的日志,还有一些会保存数年。
我倾向于将访问日志保留更长时间(在某些情况下,一旦我从中剥离了识别信息,就会永远保留),而不是错误日志,因为理论上,一旦我解决了问题,我就不再需要它们了。
我保留了一些其他调试日志(显示用户活动、他们如何与系统交互等),以便我们可以看到每个版本的变化。
...
这让我想起了我在一所大学工作时的轶事——管理层聘请了一位外部顾问对我们正在构建的网络服务器进行第三方审查。他们告诉我要交出 3 个月的日志,以便他们审查我们是否正确调整了系统规模。我知道这表明他们不知道自己在做什么,因为大学是周期性的——网络服务器负载随着时间的推移呈上升趋势,但在每年年初、期末考试等时间会出现峰值。
答案2
取决于要求......记录保存可能有法律要求,而且您还必须考虑它们对于故障排除的帮助时间长度。
答案3
除了法律要求和实用性考虑之外,这在很大程度上取决于日志占用了多少磁盘空间。我见过非常冗长的程序每天都会轮换日志,而非常安静的程序几乎从不轮换日志。
根据您的系统,可能值得考虑使用“logrotate”包,而不是内部处理日志轮换。只需在 /etc/logrotate.d/ 中放置一个具有合理默认值的文件,并让用户在必要时进行修改。
答案4
您一定要在空间不足之前存档您的日志。:)
在我们的组织中,日志每天都会归档。因此,特殊的“日志”文件夹将只包含当天的日志。存档在磁盘上一个具有大量存储空间的特殊存档位置保留 3 周。这将有助于产品支持开发人员查看是否有报告。3 周后,这些内容会备份到磁带(是的,磁带!)上。根据政策,磁带将再保留 35 天。