【发布时间】:2023-03-15 00:20:01
【问题描述】:
我想在 shell 脚本中压缩超过 30 天的日志并删除超过 90 天的日志。一件事,我将再次运行这个脚本,我想要一些过程。因为一些日志会在压缩文件中有更多的 90 天。所以请建议我..如果有任何其他概念,请告诉我
- Kalaiyarasan
【问题讨论】:
标签: linux shell unix logrotate
我想在 shell 脚本中压缩超过 30 天的日志并删除超过 90 天的日志。一件事,我将再次运行这个脚本,我想要一些过程。因为一些日志会在压缩文件中有更多的 90 天。所以请建议我..如果有任何其他概念,请告诉我
【问题讨论】:
标签: linux shell unix logrotate
你想试试 logrotate。它专门用于压缩,特定间隔后删除等的解决方案。
请查看: http://linuxcommand.org/man_pages/logrotate8.html
还有很多教程。希望这会为您指明正确的方向。是时候谷歌了。 :-)
【讨论】:
要压缩目录 /path/to/logs 下至少 30 天前的所有文件,请使用:
find /path/to/logs -type f -mtime +30 -exec gzip {} +
删除该目录下所有 90 天或更长时间的文件:
find /path/to/logs -type f -mtime +90 -delete
logrotate,正如 Khanna111 所建议的那样 Gaurav 是处理日志文件的标准工具。仅当 logrotate 出于某种原因不符合您的需求时才使用上述方法。
【讨论】: