AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1138800
Accepted
Moritz
Moritz
Asked: 2023-07-24 13:55:09 +0800 CST2023-07-24 13:55:09 +0800 CST 2023-07-24 13:55:09 +0800 CST

如何每天自动更改文件名

  • 772

我是 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

}
centos
  • 2 2 个回答
  • 589 Views

2 个回答

  • Voted
  1. Best Answer
    asktyagi
    2023-07-24T14:05:27+08:002023-07-24T14:05:27+08:00

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

    开始计数

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

    • 4
  2. Moritz
    2023-07-24T16:06:20+08:002023-07-24T16:06:20+08:00

    正如@asktyagi 已经说过的。正确使用的参数是“开始计数”。

    最初它对我不起作用,那是因为我没有禁用“对旋转文件使用数据扩展名”的参数,该参数称为nodateext.

    所以工作配置如下所示:

    /var/log/maillog{
    
    daily
    
    rotate 365
    
    postrotate
    
       Systemctl restart rsyslog.service
    
    endscript
    
    mailfirst
    
    olddi /var/log/old_maillog
    
    start 1
    
    nodateext
    }
    

    此配置每天保存日志并将扩展名重命名为数字,这相当于日志的年龄。

    所以在第一天它被称为 -maillog.1

    第二天它被称为 -maillog.2

    等等。

    • 2

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve