Bash脚本根据文件名中的时间戳删除超过n天前的文件?

时间:2016-02-12 02:28:30

标签: bash shell unix find

我有一些

的日志文件
 somefiles.log.YYYY-mm-dd

我希望根据文件名中的时间戳删除那些超过N天的文件。

2 个答案:

答案 0 :(得分:2)

使用find:

根据创建时间更好地删除
find /var/log/ -name somefiles.log.* -ctime +3 -delete

答案 1 :(得分:2)

使用 cut 命令检索文件名的YYYY-MM-dd部分。并使用 date 命令将其转换为time_t类型。

  

日期-d“YYYY-MM-dd”+%s

然后您可以比较time_t以确定应删除哪个文件。