首页 > 解决方案 > 如何使用 logrotate 在 laravel 中旋转日志?

问题描述

几个月前部署了我的 laravel 应用程序,最近发现我的应用程序无法写入日志,因为我的磁盘已满。当我检查我发现 laravel.log 文件几乎是巨大的。我想知道如何使用 logrotate 旋转 laravel 日志。

标签: phplogginglaravel-5.6logrotate

解决方案


转到/etc/logrotate.d并创建一个新的配置文件。

cd /etc/logrotate.d
sudo touch laravel_rotate

添加日志文件位置和一些设置。

log/file/dir/laravel_log.log { 
    monthly 
    missingok 
    rotate 12 
    compress
    notifempty 
    create 755 www-data www-data 
}

设置说明:

  1. 每月:将每月创建备份
  2. missingok : 如果文件丢失则忽略该文件
  3. rotate 12:保留一年的备份
  4. notifempty:如果日志为空,则不轮换日志
  5. compress:压缩日志文件
  6. create:创建具有以下权限的替换日志文件

要测试这个新配置,运行sudo logrotate --force laravel_rotate

日志旋转文档


推荐阅读