这个 rotate.conf 有什么问题?
目标是仅删除超过四小时的文件
path/to/tokens/*.tkn {
nosharedscripts
prerotate
if test `stat --format=%Y $1` -le $(( `date +%s` - 14400 ));
then exit $?;
fi;'
endscript
rotate 0
}
答案1
您声明您的目标是删除超过四小时的文件。使用 bash 4.3.46 (Ubuntu 16.04) 和 find 4.7.0,我能够使用带有十进制 mtime 的 find 命令:
find /path/to/tokens/ -name "*.tkn" -mtime 0.1666666
只需将 4/24 转换为十进制即可。您可以将其放入脚本中,然后使用 pipe-rm 或-exec rm {} \;
根据需要执行。
它不使用logrotate,但它达到了删除超过(4/24)天的文件的目的。
编辑:奖励回合
显然还有一个-mmin
选择。试穿一下这个尺寸:
find /path/to/tokens/ -name "*.tkn" -mmin +240 -exec rm {} \;