日志文件的自动对话[关闭]

Posted

技术标签:

【中文标题】日志文件的自动对话[关闭]【英文标题】:Automatic conversation of log file [closed] 【发布时间】:2021-11-26 06:53:12 【问题描述】:

我想转换 .gz 中的日志文件,当它达到他的最大索引并希望在 logback 中将文件保留长达 60 天(最大历史记录)。

当达到他的最大索引值时,日志文件将进入 .gz。并希望将文件最多保存 60 天,总容量为 500 MB。 我们怎样才能做到这一点。

提前谢谢你。

【问题讨论】:

这是一个非常广泛的问题。请向我们展示您迄今为止尝试过的代码以及您遇到的具体部分。 【参考方案1】:

您可以编写一个 shell 脚本来查找这些日志文件 zip 并将它们归档。使用 chron 安排此任务。

ARCHIVE_DIR=/path/to/archive/dir
ARCHIVE_FILE=$(data +"%Y-%m-%d").tar.gz
find logs -type f -iname *.log -mtime -1 | xargs tar -czf $ARCHIVE_FILE
mv $ARHICVE_FILE $ARCHIVE_DIR/$ARCHIVE_FILE

您可以将此脚本添加到您的 chron 标签中

* 1 * * * /path/to/your/backup_script.sh # run it ever morning at 0100

您可以使用 find 命令删除旧的日志存档。这个命令也可以调度。

find /path/to/archive/dir -type f -iname *.tar.gz -mtime -60 -exec rm  \;

【讨论】:

以上是关于日志文件的自动对话[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp 3.1.3 Runtime\Logs日志文件太多怎么关闭日志功能

sql server 2008 的事务日志文件存储数据库的啥情况

数据库事务jeeps日志已满,原因为replication?

关于日志文件的清除。

用CRT自动连接设备 并执行命令 保存日志文件

关闭日志文件