在linux中删除超过x天的日志

时间:2017-09-26 17:27:27

标签: bash date logging

在我的bash脚本中,我希望仅将日志保留x天并删除旧版本。日志文件名本身包含创建日期。

日志格式:

tps-20170917145225514-12423.tps (17st Sept 2017)
tps-20170921134300641-2563.tps (21st Sept 2017)

我的想法是对所有日志进行排序并为最新的日志文件提取时间,然后通过从中减去x天来评估最早的时间

date -d "10 days"

然后在评估最早时间之前删除所有日志。

这些日志存储在不同的子目录中,需要从所有位置删除。

如果我使用正确的方法,请帮助我,还是有更好的方法解决这个问题。

由于 Ankit

1 个答案:

答案 0 :(得分:0)

另一种方法是删除超过N天的日志文件,例如:

find <dir> -type f ! -newermt '10 days ago' -exec rm {} +