如何每天自动更改文件名

如何每天自动更改文件名

我是 Linux/CentOS 新手,现在遇到了一个小问题。

我的 CentOS7 服务器每天记录所有邮件日志并将它们移动到文件夹中/var/log/old_maillogs。现在日志以类似于以下的名称保存:

邮件日志-20230721

我希望根据他们的年龄改变他们的名字,这样如果日志是一天前的,那么它的名字是:

邮件日志-1

一天后,文件名更改为:

邮件日志-2

等等。

这是否可能,如果可以,让它发挥作用的最明智的方法是什么?我读过很多关于每天执行一次的脚本的内容,但话又说回来,我如何编写脚本,以便它识别文件夹中有多少日志?

答案1

正如@Panki 在评论中所说,使用对数旋转

我还没有尝试过,但是这个配置(将其保存在/etc/logrotate.d/maillog)应该可以满足您的要求:

/var/log/maillog {
    rotate 365
    daily
    olddir /var/log/old_maillogs
}

相关内容