我的机器上设置了几个虚拟主机,服务器总是因为磁盘空间太满而崩溃。我检查了一下,发现我的一个虚拟主机日志文件夹有 2Gb。里面有数百个日志文件,有的经过 gzip 压缩,有的没有。
我的问题是,有没有一种简单的方法可以删除所有这些而不删除当前正在使用的日志?此外,有没有办法告诉服务器始终保留 5 个日志文件并删除其他文件?
服务器是 Debian。
感谢您的帮助
答案1
看看 logrotate,互联网上有很多教程,在 Google 上快速搜索后,我发现了这个教程。
Logrotate 每天使用 cron.daily 运行,脚本读取 /etc/logrotate.conf ,此文件包含所有默认配置。Logrotate 读取目录 /etc/logrotate.d 中的其他文件。
因此,您可以每天执行日志轮换并且只保留 5 天,要设置此配置,您必须在文件 /etc/logrotate.conf 中定义:
# see "man logrotate" for details
# rotate log files weekly
daily
# keep 5 days worth of backlogs
rotate 5
您可以添加选项压缩压缩轮换文件。查看 /etc/logrotate.d 下的文件,确保您的配置不会被覆盖。
您可以使用 logrotate 做很多事情,但只需花点时间阅读文档。