要清理过期的 Linux JS 日志,你可以使用以下方法:
find
命令查找并删除过期日志文件:find /path/to/logs -type f -name "*.log" -mtime +30 -exec rm -f {} \;
这个命令会在 /path/to/logs
目录下查找所有以 .log
结尾的文件,然后检查它们的最后修改时间。如果文件的最后修改时间超过 30 天(-mtime +30
),则删除该文件。
请注意,你需要将 /path/to/logs
替换为实际的日志文件路径。
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
将根据配置文件自动清理过期的日志文件。