如何每天自动更改文件名

Mor*_*itz 3 log-files logging centos logrotate centos7

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

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

邮件日志-20230721

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

邮件日志-1

一天后,文件名更改为:

邮件日志-2

等等。

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

这是我当前的配置:

/var/log/maillog{

daily

rotate 365

postrotate

   Systemctl restart rsyslog.service

endscript

mailfirst

olddi /var/log/old_maillog

}
Run Code Online (Sandbox Code Playgroud)

小智 5

请参阅 logrotate手册页选项“开始计数”

开始计数

这是用作旋转基础的数字。例如,如果指定 0,则在从原始日志文件轮换日志时,将使用 .0 扩展名创建日志。如果指定 9,则将使用 .9 创建日志文件,跳过 0-8。文件仍将旋转 count 指令指定的次数。