我孤身走在路上, 石子在雾中发亮,夜很安静,荒原面对太空,星星互诉衷肠
用logrotate将squid日志以日期生成并轮回
用logrotate将squid日志以日期生成并轮回

用logrotate将squid日志以日期生成并轮回

logrotate –version # 查看是否已安装logrotate

sudo vim /etc/logrotate.d/squid


/var/log/squid/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    delaycompress
    sharedscripts
    postrotate
        /usr/sbin/squid -k rotate 2>/dev/null
    endscript
}

这个配置的含义如下:

  • /var/log/squid/*.log:这是你想要轮转的日志文件。你应该根据自己的系统和Squid配置来修改这个路径。
  • daily:这表示每天进行一次轮转。
  • rotate 7:这表示保留最近7天的日志文件。
  • compress:这表示压缩旧的日志文件。
  • missingok:这表示如果日志文件不存在,那么不会出现错误。
  • notifempty:这表示如果日志文件为空,那么不会进行轮转。
  • delaycompress : 选项表示,logrotate会等到下一次轮转时才压缩日志文件。这可以防止在Squid还在写日志文件时就对其进行压缩。
  • sharedscripts:这表示只运行一次postrotate脚本,而不是每个日志文件都运行一次。
  • /usr/sbin/squid -k reconfigure:这是在轮转后运行的命令,用于让Squid重新打开新的日志文件。
  1. 保存并关闭文件。

现在,logrotate会每天检查/var/log/squid/目录下的日志文件,如果需要,就进行轮转和压缩。你可以通过运行sudo logrotate -d /etc/logrotate.d/squid命令来测试你的配置。

sudo logrotate -d /etc/logrotate.d/squid

这个命令会在调试模式下运行logrotate,这意味着它会显示它会做什么,但实际上并不会做任何事情。这对于检查你的配置是否正确非常有用。

如果你想立即执行日志轮转,你可以使用以下命令:

sudo logrotate -f /etc/logrotate.d/squid

如果定时重启squid

sudo logrotate -f /etc/logrotate.d/squid # 先执行这个

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

58 − = 48