根据天数定时清理nginx日志
1. 安装`logrotate`工具(如果系统没有默认安装):
在大多数 Linux 发行版中,可以使用包管理器来安装`logrotate`。例如,在 Ubuntu 或 Debian 中,可以使用以下命令安装:
```
sudo apt-get install logrotate
```
2. 配置`logrotate`:
`logrotate`的配置文件通常位于`/etc/logrotate.d/`目录中。你可以创建一个新的配置文件来指定 Nginx 日志的轮转规则。例如,创建一个名为`nginx`的文件,内容如下:
```
# 确保以下路径与你的 Nginx 日志实际路径匹配
/var/log/nginx/*.log {
  daily
  missingok
  rotate 7
  compress
  delaycompress
  notifempty
  sharedscripts
  postrotate
    /bin/kill -USR1 $(/sbin/pidof nginx)
  endscript
}
```
这个配置文件指定了以下规则:
- `daily`:表示每天轮转日志。
- `missingok`:如果日志文件不存在,不报错。
- `rotate 7`:保留最近 7 天的日志文件。
- `compress`:启用日志压缩。
- `delaycompress`:延迟压缩,以便在日志写入时获得更好的性能。
- `notifempty`:如果日志文件为空,不进行轮转。
- `sharedscripts`:使用共享的脚本(后面会定义)。
- `postrotate`:在日志轮转后执行的脚本部分,这里我们发送`USR1`信号给 Nginx 进程,以便重新打开日志文件。
3. 定义`postrotate`脚本(如果需要):
如果你希望在日志轮转后执行其他操作,例如发送信号给 Nginx 或执行其他系统任务,可以在`/etc/logrotate.d/`目录中创建一个名为`nginx-postrotate`的脚本文件,并添加相应的命令。
4. 测试并启用`logrotate`:
运行以下命令来测试配置是否正确:
```
logrotate -d /etc/logrotate.d/nginx
```
nginx停止命令如果没有出现错误,你可以使用以下命令启用`logrotate`:
```
sudo service logrotate restart
```
这样,`logrotate`将会根据配置文件中的规则自动轮转 Nginx 日志,并按照指定的天数保留日志文件。
请确保根据你的实际情况调整配置文件中的路径和规则,以满足你的需求。另外,记得定期检查日志文件的大小,以确保系统资源的合理使用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。