linux

如何清理过期的Linux JS日志

小樊
49
2025-08-22 12:01:37
栏目: 编程语言

要清理过期的 Linux JS 日志,你可以使用以下方法:

  1. 使用 find 命令查找并删除过期日志文件:
find /path/to/logs -type f -name "*.log" -mtime +30 -exec rm -f {} \;

这个命令会在 /path/to/logs 目录下查找所有以 .log 结尾的文件,然后检查它们的最后修改时间。如果文件的最后修改时间超过 30 天(-mtime +30),则删除该文件。

请注意,你需要将 /path/to/logs 替换为实际的日志文件路径。

  1. 使用 logrotate 工具管理日志文件:

logrotate 是一个用于管理日志文件的工具,它可以自动压缩、删除和轮转日志文件。要使用 logrotate,首先确保它已经安装在你的系统上。在大多数 Linux 发行版中,logrotate 已经预装了。

接下来,创建一个名为 /etc/logrotate.d/your_app 的配置文件,其中 your_app 是你的应用程序名称。在这个文件中,添加以下内容:

/path/to/logs/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 640 root adm
}

这个配置表示每天轮转日志文件,保留最近 7 天的日志,压缩旧日志文件,如果日志文件丢失则不报错,如果日志文件为空则不轮转,以及设置新日志文件的权限和所有者。

/path/to/logs/*.log 替换为实际的日志文件路径。

最后,确保 logrotate 定期运行。你可以将以下内容添加到 /etc/cron.daily/logrotate 文件中,以便每天运行 logrotate

#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

然后,给予脚本可执行权限:

chmod +x /etc/cron.daily/logrotate

现在,logrotate 将根据配置文件自动清理过期的日志文件。

0
看了该问题的人还看了