我每天都会生成名为 my_file_YYYYMMDD.csv 的文件(例如,my_file_20160406.csv、my_file_20160407.csv 等等)。
我希望 logrotate 每天压缩它们并且只保留最后 30 个文件。
问题是它正在生成 cisco_counters-20160406.csv.1.gz 文件,并且它们永远不会被删除。
我如何让 logrotate 压缩我的文件、删除 .csv 文件并删除所有超过 30 天的压缩文件?
注意:不幸的是,我不能从我的文件中删除该日期。
谢谢。
答案1
与其使用 logrotate,不如使用 'tmpwatch',它将删除超过 X 小时未修改的文件 (--mtime)。当文件不适合 logrotate 的结构时,我会使用它。