+
80
-

linux如何定期自动清理var/log目录下的所有大型日志文件?

linux如何定期自动清理var/log目录下的所有大型日志文件?


网友回复

+
0
-
您可以使用logrotate工具来定期自动清理/var/log目录下的大型日志文件。 以下是一些步骤: 确认logrotate是否已安装:sudo apt-get install logrotate 创建一个logrotate配置文件,例如/var/log/myapp: /var/log/myapp/*.log { daily rotate 7 compress delaycompress missingok notifempty create 644 root root

}

这个配置文件包含了/var/log/myapp目录下所有以.log为后缀的文件。其中,daily表示每天执行一次轮换,rotate 7表示保留最近7个日志文件,compress表示压缩旧日志文件,delaycompress表示延迟压缩到下一次轮换时进行,missingok表示如果日志文件不存在则忽略,notifempty表示如果日志文件为空则忽略,create 644 root root表示创建新的日志文件时设置权限和所有者。 将配置文件放置在/etc/logrotate.d/目录下。 测试配置文件是否正确:sudo logrotate -d /etc/logrotate.d/myapp 如果测试通过,则将其添加到crontab中以定期执行:sudo crontab -e 添加以下行:0 0 * * * /usr/sbin/logrotate /etc/logrotate.d/myapp >/dev/null 2>&1 这将在每天午夜执行logrotate命令。
我知道答案,我要回答